2010-11-16 76 views
3

我有一個應用程序在Java中,它是永久拉。執行它如下:始終應用程序Java結束與「退出143」Ubuntu

nohup ant> log.txt & 

問題是,無限期的最後,應用程序退出並得到一條消息「退出143」。

+2

我們不是千里眼。如果您想要答案,請提供更多信息。我會說問題在於你的Java應用程序。 – darioo 2010-11-16 08:50:55

回答

17

退出代碼143對應於SIGTERM,這是在運行kill <pid>時默認發送的信號。另一個進程或用戶是否有可能正在殺死該應用程序?沒有更多的信息,很難提出任何其他建議。

+0

我不認爲這是另一個用戶,也許是另一個過程? 我這樣做是爲了保護自己免受SIGTERM的傷害,你怎麼看? – Fernando 2010-11-16 09:19:01

+0

陷阱''115;螞蟻 – Fernando 2010-11-16 09:19:40

4

我在使用nodejs時遇到了類似的問題,事實證明,它實際上是我的應用程序和我的代碼被殺死了。

我有這樣的代碼(好吧,我不具備的功能名稱這樣,但你明白了吧):

kill_anything_that_is_still_running_from_previous_execution() 
start_a_lot_of_stuff() 

的問題是,kill_anything_that_is_still_running_from_previous_execution是異步和立即返回和(因糟糕的「運氣」),實際的殺人部分總是在start_a_lot_of_stuff跑完後才發生,這顯然不是很好。 #spawncamping

噢,和in JavaRuntime.getRuntime().exec("bash -c \"killall whatever\"")如果您不等它退出,它是「異步」。