【问题标题】:Always app Java end with "Exit 143" Ubuntu始终以“Exit 143”Ubuntu 结束应用程序 Java
【发布时间】:2010-11-16 08:44:18
【问题描述】:

我有一个 java 应用程序,它被永久拉取。执行如下:

nohup ant> log.txt &

问题是,应用程序无限期地退出并收到一条消息“Exit 143”。

【问题讨论】:

  • 我们不是千里眼。如果您需要答案,请提供更多信息。我会说问题出在你的 Java 应用程序上。
  • 我不同意这被标记为重复。我正在寻找退出代码 143 的含义,这个问题和接受的答案完美地解释了它。这应该是重复的问题并没有回答我正在寻找的问题。

标签: java ubuntu exit


【解决方案1】:

退出码143对应SIGTERM,即运行kill <pid>时默认发送的信号。是否有可能是另一个进程或用户正在杀死该应用程序?如果没有更多信息,很难提出其他建议。

【讨论】:

  • 我不认为是另一个用户,也许是另一个进程?我这样做是为了保护自己免受 SIGTERM 的伤害,你怎么看?
  • 这可能发生在 Docker 环境中,当容器认为某些东西占用了太多内存并杀死了最大的进程时。
【解决方案2】:

我在使用 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

哦,在 Java 中 Runtime.getRuntime().exec("bash -c \"killall whatever\"") 是“异步”的,如果你不等待它退出的话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    相关资源
    最近更新 更多