2017-04-24 50 views
0

Spring有this用於運行可執行彈簧引導罐的文檔。Spring Boot Jar文件由終端使用nohup啓動

但是,我從終端使用nohup linux命令運行這個jar,並且工作正常。

問題是:使用nohup或使用init.d服務,將有相同的結果爲應用程序?或者使用init.d總是正確的方式?

回答

2

他們做不同的事情。 nohup運行一個命令,忽略HANGUP(HUP)信號。 init.d用於在服務器啓動時自動運行命令(並在關機時按順序關閉命令)。如果您希望在系統重新啓動後自動運行彈簧引導應用程序,請將其置於init.d - 如果要在每次重新啓動後手動啓動它,可以使用nohup

1

nohup以一種不受掛機影響的方式運行命令,這可能會導致問題。許多程序被設計爲重新讀取其配置文件,重新啓動或在接收到HUP信號時執行其他操作(大多數服務/守護程序重新啓動或重新讀取配置)。除非您特別想忽略HUP信號,否則使用nohup不是最佳解決方案。

可以以在後臺運行它的命令後使用&,如果你想避免輸出到終端,您可以將輸出發送到/ dev/null的:

mycommand > /dev/null 2>&1 & 

2>&1會將stderr發送到標準輸出,因此它會轉到/ dev/null。

相關問題