• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
如何在关闭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 名字 命令

 

posted on 2018-08-13 22:56  MKT-porter  阅读(5108)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3