挂断信号(SIGHUP)默认的动作是终止程序
打开ssh默认下面的所有bash都是他的子程序,关闭ssh后,挂断信号把所有的进程杀死
办法(1)nohup
nohup 应用程序名 &
此后,如果你断开了ssh,程序依旧运行。此种方式的缺点是,应用程序没有交互界面了,程序的输出将会输出的一个xxx.out文件中,而且以后无法在界面控制程序的结束。必须通过kill的方式。所以这种方式显得很简单粗鲁,很少使用。
办法(2)screen
yum install screen(有些系统默认有)
- screen回车后(新建子命令)进入Screen子界面,此时putty标题栏会指示处于子界面状态
- 然后部署你的服务(java -jar -Dspring.profiles.active=production target/community-0.0.1-SNAPSHOT.jar)
- 然后按下Ctrl+A+d,此时切换回主界面,Putty的窗口标题栏也会指示,此时就是断开ssh,程序仍在运行。
连接已经存在的会话
screen -ls
There are screens on:
31619.ttyp2.gigan (Detached)
4731.ttyp2.gigan (Detached)
2 Sockets in /tmp/screens/S-root.
这里我们看到有两个不同的会话。为了重新连接会话,我们可以执行以下命令。
screen -r 31619.ttyp2.gigan
查看所有子界面
screen -ls
查看指定子界面
screen -r 子界面代号
切换回主界面
ctr +a+d
结束子界面对话(进程全杀死)
screen -X -S 子界面代号 quit
网友评论