2013-06-29 149 views
0

您好我正在Ubuntu Web服務器上製作一個Java程序,但它總是應該在無限循環中運行,或者至少在我停止之前。當我在Ubuntu控制檯中運行它時,它不會允許我繼續使用控制檯。要解決這個問題,我一直在使用「屏幕」命令並分離屏幕。 我想知道是否有更好的方式做到這一點,而不使用屏幕命令?在Ubuntu中運行Java無限循環

+0

你的意思是Ubuntu服務器? Ubuntu服務器允許Web服務器和許多其他服務類型。 – hexafraction

回答

0

運行程序被掛起

如果你滿意的命令行手動啓動Java程序,但只是想沒有屏幕上運行,你可以使用「nohup的」命令啓動Java過程,例如即使關閉控制檯窗口或註銷,Java程序仍將繼續運行。

$ nohup java ... 
nohup: ignoring input and appending output to `nohup.out' 
$ 

背景

運行程序。如果你不介意,如果你關閉控制檯窗口或退出Java程序停止,你可以跳過使用「nohup的」,只有追加了「& 「到命令的最後,告訴你的shell在後臺運行應用程序。您可能還需要將「> program.log 2> & 1」添加到該命令中,以避免在控制檯窗口中顯示程序的任何輸出結果,而將其用於其他目的。

$ java ... > program.log 2>&1 & 
[2] 3128 
$ jobs 
[2]+ Running   java ... > program.log 2>&1 & 
$ 

運行一個程序作爲守護

如果你想在Java程序每次重新啓動計算機時自動啓動,你應該考慮創建一個SYSV init-script,或者你的Ubuntu上運行,an Upstart Job definiton