如何在关闭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连接的情况下,让程序继续运行?的主要内容,如果未能解决你的问题,请参考以下文章