2017-04-07 284 views
0

我有一個java應用程序被編譯和打包爲jar文件。它在應用程序中包含一個while(true)循環。
Nohup java進程超時或死亡

我主要的問題是這樣的,當我使用

nohup java -jar processName.jar > log.txt 

運行我在UNIX服務器應用程序啓動好。過了一會兒(我不知道原因,並且日誌文件不存在任何異常),它似乎關閉。我可以通過ps -ef查看過程,但是日誌文件和輸出文件根本不會改變。


經過一段時間後nohup過程會關閉嗎?它是否有任何超時或我必須做的任何配置?在服務器上創建後臺進程的最佳方式是什麼?

回答

0

Nohup不會停止,除非程序退出或中斷進程(這包括從ssh shell中斷開連接)。要在後臺啓動該程序,在命令後加符號(&):如果你想在以後輕易殺死它 nohup java -jar processName.jar > log.txt &

屏幕也可以是有用的。

如果它在後臺運行時仍然停止,那麼Java代碼中的某些內容正在悄悄退出,因此請在此處進行調查。

還有一種可能性 - 在某些機器上,低優先級的CPU佔用程序可能會自動死亡。如果你的while循環沒有讓步,這(雖然不太可能)可能是進程關閉的原因。