如何在关闭ssh连接的情况下,让程序继续运行?

我们是通过SSH去连接linux服务器的,当我们退出或者端口SSH连接的话,当前正在执行的脚本文件也会被停止,因为linux服务器会在你退出SSH连接后,默认关闭进程,而不会hang up进程,所以不想一直保持SSH连接,又想一直保持服务器程序运行的解决办法如下: 
(这里以阿里云的CentOS系统为例)

1、安装screen命令

sudo apt-get install screen 

2、创建screen会话,自定义screen虚拟终端的名称,hass 可以改为你想要的名称

    screen -S hass

3运行你需要一直在后台运行的程序

    hass          # 这里打开hass程序

4  退出远程登陆,hass程序仍在运行,可以正常访问使用

5 重新远程登陆,查看当前开着的screen会话

screen -ls

 发现两个会话

查看子界面的代号,然后输   入

#screen -r 27701

 进去后是空的,因为我没有运行任何程序

 #screen -r 27479

显示出我正在运行的hass程序

6如何让关闭和更多用法

进入27701会话

screen -r 27701

关闭它

exit

之后再次查看

screen -ls

发现关闭了。

screen用法:

  • 打开新的会话窗口:screen
  • 结束当前会话:exit
  • 在新会话中执行程序(程序关闭时会话自动结束):screen vi test.c
  • 打开新会话并起个名字:screen -S myname
  • 暂时离开会话(经常用):Ctrl+a 然后 d
  • 查看会话列表: screen -ls
  • 恢复之前离开的会话:screen -r 会话名或进程号
  • 清除dead状态的会话:screen -wipe
  • 启动一个开始就是Detached状态的会话:screen -dmS 名字 命令
原文地址:https://www.cnblogs.com/kekeoutlook/p/9471609.html