阿里云SSH断开影响后台

挂断信号(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

你可能感兴趣的:(阿里云SSH断开影响后台)