2017-04-07 121 views
0

我有一个java应用程序被编译和打包为jar文件。它在应用程序中包含一个while(true)循环。
Nohup java进程超时或死亡

我主要的问题是这样的,当我使用

nohup java -jar processName.jar > log.txt 

运行我在UNIX服务器应用程序启动好。过了一会儿(我不知道原因,并且日志文件不存在任何异常),它似乎关闭。我可以通过ps -ef查看过程,但是日志文件和输出文件根本不会改变。


经过一段时间后nohup过程会关闭吗?它是否有任何超时或我必须做的任何配置?在服务器上创建后台进程的最佳方式是什么?

回答

0

Nohup不会停止,除非程序退出或中断进程(这包括从ssh shell中断开连接)。要在后台启动该程序,在命令后加符号(&):如果你想在以后轻易杀死它 nohup java -jar processName.jar > log.txt &

屏幕也可以是有用的。

如果它在后台运行时仍然停止,那么Java代码中的某些内容正在悄悄退出,因此请在此处进行调查。

还有一种可能性 - 在某些机器上,低优先级的CPU占用程序可能会自动死亡。如果你的while循环没有让步,这(虽然不太可能)可能是进程关闭的原因。