簡單而有用的nohup命令在UNIX/LINUX中,普通進程用&符號放到后臺運行,如果啟動該程序的控制臺logout,則該進程隨即終止。
要實現(xiàn)守護進程,一種方法是按守護進程的規(guī)則去編程(本站有文章介紹過),比較麻煩;另一種方法是仍然用普通方法編程,然后用nohup命令啟動程序:
nohup
<程序名> &
則控制臺logout后,進程仍然繼續(xù)運行,起到守護進程的作用(雖然它不是嚴(yán)格意義上的守護進程)。
使用nohup命令后,原程序的的標(biāo)準(zhǔn)輸出被自動改向到當(dāng)前目錄下的nohup.out文件,起到了log的作用,實現(xiàn)了完整的守護進程功能。
ygwu @ 2005年04月18日 上午10:03
For example:
如何遠程啟動WebLogic服務(wù)?
用telnet遠程控制服務(wù)器,遠程啟動WEBLOGIC服務(wù),啟動后關(guān)閉telnet,WebLogic服務(wù)也跟著停止,這是因為使用telnet啟動的進程會隨著telnet進程的關(guān)閉而關(guān)閉。所以我們可以使用一些UNIX下的命令來做到不關(guān)閉。
使用如下命令:
nohup
startWeblogic.sh&
如果想要監(jiān)控標(biāo)準(zhǔn)輸出可以使用:
tail -f nohup.out
這里有一個要主意的地方. 就是nohup 只能工作在 sh的環(huán)境下 ,csh, bash 都不行,我的freebsd 使用的 csh ,
%提示符的,不起作用,
比如先輸入sh 回車, 出現(xiàn)$提示符后,再用nohup command & 就可以了.