freebsd 中 nohup使用時出現的奇怪問題

來源:互聯網
上載者:User

【現象】

在freebsd中啟動rails網站;

網站的啟動寫到一個bat指令碼中:

#/glodon/WEB_APP/CONF/rails_svnms.bat#!/bin/sh cd /glodon/WEB_APP/SVNMS /usr/local/bin/rails s mongrel -e production -b 127.0.0.1 

利用nohup啟動網站: nohup /glodon/WEB_APP/CONF/rails_svnms.bat &

成功產生job, 但是沒有產生nohup.out檔案, 重新導向也不管用(nohup /glodon/WEB_APP/CONF/rails_svnms.bat 2>1& &),  日誌輸出到螢幕上,網站能夠正常訪問。

但是視窗一旦logout或者關閉, 網站就不能訪問了, 後台有rails進程仍然正常運行,能夠檢測到日誌變化,就是網站無法訪問。

 

總不能一直開著視窗吧,鬱悶了一上午~~~~~~~~~~~~

【原因】

我執行的是一個指令檔,它裡面還調了各種執行檔案和應用程式,而且它裡面調程式都沒用用nohup &這種方式的,原因就處在這。

原因應該是這樣,由於指令碼中調用的指令碼未加後台符(&)運行時需要另外調用一個新的Shell作為運行環境,而這個Shell卻無法屏蔽父Shell退出時發出的quit signal,所以會導致進程被殺死,解決方案就是加後台符,這樣進程運行無需啟用新的Shell。

【解決方案】

把指令碼裡面把所有的地方都加上&,並把輸出重新導向到檔案

即:

#/glodon/WEB_APP/CONF/rails_svnms.bat#!/bin/sh cd /glodon/WEB_APP/SVNMS /usr/local/bin/rails s mongrel -e production -b 127.0.0.1 >> log/production.log 2>&1 &

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.