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