我在java中有一个应用程序,它是永久性的。按如下方式执行:
nohup ant> log.txt &
问题是最后无限期,应用程序退出并收到消息“退出143”。
答案 0 :(得分:27)
退出代码143对应SIGTERM
,这是运行kill <pid>
时默认发送的信号。是否有可能是另一个进程或用户正在查杀该应用程序?没有更多信息,很难提出其他任何建议。
答案 1 :(得分:5)
我在使用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
哦,如果您不等待它退出,那么 Runtime.getRuntime().exec("bash -c \"killall whatever\"")
中的是“异步”。