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

Posted kekeoutlook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在关闭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 名字 命令

 

以上是关于如何在关闭ssh连接的情况下,让程序继续运行?的主要内容,如果未能解决你的问题,请参考以下文章

Linux使用screen实现关闭ssh连接的情况下,让程序继续在后台运行

如何在SSH断开后让远程服务器程序继续运行

ssh连接断开后 shell进程退出

关闭ssh后,服务依旧运行

Linux下SSH远程连接断开后让程序继续运行解决办法

Ubuntu 在终端关闭情况下仍然运行进程