2009-11-19 65 views
-1

我正在運行我的Java應用程序,我已經使用線程... 我正在終端上運行此應用程序使用ant命令.. 但是,當我關閉我的終端或按Ctrl + c,然後運行java程序停止... 請幫我解決這個問題,因爲我想連續運行此程序...我想連續運行我的Java線程

回答

0

我想這是理想的行爲。如果你終止你的應用程序,它會被關閉。

如果你想在後臺運行應用程序,你應該考慮使它成爲一個Windows服務或deamon。

如果您希望繼續將它作爲* nix上的應用程序運行,則可以考慮使用GNU Screen

1

如果殺死Java進程,Java將不再運行。如果您希望線程持續運行,Java程序必須保持活動狀態。

用螞蟻調用這樣的程序通常不是做這件事的方法。在類Unix系統上,通常通過/etc/init.d啓動腳本在後臺運行這樣的程序。在Windows中,相當於將您的程序作爲服務啓動,但我不確定涉及使Java以這種方式運行的複雜性。

如果你正在從concole上運行某些東西 - 那麼不殺它並最小化控制檯呢?如果您從Linux(或Cygwin)開始,只需在命令行末尾附加&,並且該進程將在後臺運行。

告訴我們更多關於您的環境的信息,以及您準備採取的妥協措施(例如,最小化控制檯窗口位於任務欄中),我們可以爲您提供更多幫助。目前,我可以給出的唯一明確答案是「是的 - Ctrl-C會殺死你的程序(按照預期),如果你想讓它繼續運行,不要讓它停止運行。」 :-)

0

在後臺運行ant命令並將其輸出重定向到一個文件: ant &> my.log &

注意:這個問題似乎沒有線程相關(除非我誤解了它)。

0

這聽起來像你想守護你的螞蟻任務。我建議以下命令:

nohup ant &> ant.log < /dev/null & 

nohup將允許程序繼續運行在關閉終端後。

0

我很驚訝沒有人提到過於出名的Java Service Wrapper。如果你正在開發長時間運行的程序(a.k.a服務),這是一個很好的軟件。