Java 关闭SSH会话时服务器上的进程被终止
我使用PuTTY通过SSH连接到我的Linux(centos 8)服务器。然后,我通过命令在服务器上运行java程序Java 关闭SSH会话时服务器上的进程被终止,java,linux,ssh,centos,putty,Java,Linux,Ssh,Centos,Putty,我使用PuTTY通过SSH连接到我的Linux(centos 8)服务器。然后,我通过命令在服务器上运行java程序 java -cp /.../ app 一切正常,程序持续运行,但当我在PuTTY中关闭SSH会话时,我的java程序也被杀死。为什么会发生,如何预防 这是预期的行为。如果您想在关闭SSH putty会话的情况下继续运行javajar文件,请创建一个shell脚本,并尝试通过运行shell脚本来运行java应用程序 下面显示了一个示例脚本,您可以根据需要进行修改: Name th
java -cp /.../ app
一切正常,程序持续运行,但当我在PuTTY中关闭SSH会话时,我的java程序也被杀死。为什么会发生,如何预防 这是预期的行为。如果您想在关闭SSH putty会话的情况下继续运行javajar文件,请创建一个shell脚本,并尝试通过运行shell脚本来运行java应用程序 下面显示了一个示例脚本,您可以根据需要进行修改:
Name the script : app.sh
脚本内容示例:
#!/bin/sh
cd /home/user/ #path where your jar file is kept
java -jar app.jar
转到脚本的位置:
Give proper execute permissions to the script app.sh :
chmod 755 app.sh
Run the script as : ./app.sh
nohup是一个POSIX命令,用于忽略HUP(挂起)信号。根据惯例,HUP信号是终端警告相关注销进程的方式
如果尚未重定向,通常会发送到终端的输出将发送到名为nohup.out的文件
简而言之,它代表无挂断。这是标准的Unix行为。看看nohup@Thorbjørnravandersen非常感谢!。。。这究竟是如何解决这个问题的?
nohup java -jar test.jar &