如何在关闭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 名字 命令

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM