簡單而有用的nohup命令在UNIX/LINUX中,普通進程用&符號放到後臺運行,如果啓動該程序的控制檯logout,則該進程隨即終止。
要實現守護進程,一種方法是按守護進程的規則去編程(本站有文章介紹過),比較麻煩;另一種方法是仍然用普通方法編程,然後用nohup命令啓動程序:
nohup <程序名> &
則控制檯logout後,進程仍然繼續運行,起到守護進程的作用(雖然它不是嚴格意義上的守護進程)。
使用nohup命令後,原程序的的標準輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用,實現了完整的守護進程功能。
For example:
如何遠程啓動WebLogic服務?
用telnet遠程控制服務器,遠程啓動WEBLOGIC服務,啓動後關閉telnet,WebLogic服務也跟着停止,這是因爲使用telnet啓動的進程會隨着telnet進程的關閉而關閉。所以我們可以使用一些UNIX下的命令來做到不關閉。
使用如下命令:
nohup startWeblogic.sh&
如果想要監控標準輸出可以使用:
tail -f nohup.out