0
您好我正在Ubuntu Web服務器上製作一個Java程序,但它總是應該在無限循環中運行,或者至少在我停止之前。當我在Ubuntu控制檯中運行它時,它不會允許我繼續使用控制檯。要解決這個問題,我一直在使用「屏幕」命令並分離屏幕。 我想知道是否有更好的方式做到這一點,而不使用屏幕命令?在Ubuntu中運行Java無限循環
您好我正在Ubuntu Web服務器上製作一個Java程序,但它總是應該在無限循環中運行,或者至少在我停止之前。當我在Ubuntu控制檯中運行它時,它不會允許我繼續使用控制檯。要解決這個問題,我一直在使用「屏幕」命令並分離屏幕。 我想知道是否有更好的方式做到這一點,而不使用屏幕命令?在Ubuntu中運行Java無限循環
如果你滿意的命令行手動啓動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。
你的意思是Ubuntu服務器? Ubuntu服務器允許Web服務器和許多其他服務類型。 – hexafraction