gpt4 book ai didi

java - 后台java进程不退出

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:45 27 4
gpt4 key购买 nike

我在后台使用 java what.ever.Class & 启动一个 java 程序。它在第一行抛出异常并打印出堆栈。

我希望 java 进程在那个时候退出,但由于某种原因它停留在那里等待(没有代码运行,没有生成线程等)。它不是僵尸,因为它在第一个 SIGTERM 时正确退出。它没有立即退出的原因可能是什么?

添加:

其实并不是每次都这样。如果我从命令行运行命令 - 它退出就好了。如果从脚本运行相同的命令(脚本只是 #!/bin/sh/java what.ever.Class &),那么它会留在后台。

nohup 和重定向不起作用。

使用 Debian、OpenJDK 运行时环境 (IcedTea6 1.6.1) (6b16-1.6.1-2)/OpenJDK 64 位服务器 VM(构建 14.0-b16,混合模式)。 sh 实际上是破折号。

最佳答案

能否查看是否处于等待输入或输出的停止状态?

如果是,那么尝试重定向输入、输出和不需要的错误:

java what.ever.Class </dev/null &>/dev/null &

如果你需要的话,或者放到一个文件中:

java what.ever.Class </dev/null &>outputfile &

或者通过 nohup 如果您需要输出并希望进程在您注销后继续运行:

nohup java what.ever.Class </dev/null &

关于java - 后台java进程不退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2102235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com