对于linux运维,我们都是使用ssh登录到服务器,如果我们运行的任务需要很长时间或不间断运行,在我们直接关闭终端窗口或网络不稳定的情况下,任务就会中断,当然这只对于普通程序,不包括如mysqld,httpd这样的守护进程。

解决思路:
1.让进程运行在新的session(会话)里即不属于此终端的子进程。
2.可以实现让进程忽略HUP信号
解决方法:
1.nohup命令
功能:不挂断地运行命令,忽略HUP信号。
语法:nohup command &

2.screen命令

此命令非常强大。如果非常多的命令都需要忽略HUP命令,screen可以解决这一问题。screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。

用screen -dmS session name 来建立一个处于断开模式下的会话(并指定其会话名)。
用screen -list 来列出所有会话。
用screen -r session name 来重新连接指定会话。
用快捷键CTRL-a d 来暂时断开当前会话。
我的CentOS6.0上没有screen命令,不过可以使用yum安装。
[root@DigMouse ~]# yum list screen
Available Packages
screen.i686                         4.0.3-15.el6                         base
[root@DigMouse ~]# yum install screen*
复制代码
Ok,系统有了screen命令了。
[root@DigMouse ~]# screen -r DigMouse
[root@DigMouse ~]# ping 51osos.com > /dev/null &
[1] 13789
[root@DigMouse ~]# pstree -H 13789
复制代码
此时 bash 是 screen 的子进程,而 screen 是 init(PID为1)的子进程。那么当 ssh 断开连接时,HUP 信号自然不会影响到 screen 下面的子进程了。

Ref:

https://blog.csdn.net/fightforyourdream/article/details/19159053

https://blog.csdn.net/v1v1wang/article/details/6855552

https://blog.csdn.net/wind19/article/details/4986458

转载于:https://www.cnblogs.com/andy-0212/p/10832354.html

如何实现SSH断开后 进程仍然在后台运行相关推荐

  1. Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup, setsid, , disown)...

    Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup,  setsid,  &, disown) 1.nohup 命令 我们知道,当用户注销(logout)或者网络断开 ...

  2. Linux下远程连接断开后如何让程序继续运行

    Linux下远程连接断开后如何让程序继续运行 2017年12月29日 18:49:16 热血-文宗 阅读数:560 标签: linux shell centos 更多 个人分类: linux 版权声明 ...

  3. linux cpu内存磁盘使用情况查询 python日志打印 ssh连接 scp文件传输 nohup后台运行 环境变量

    登录 执行 ssh root@host(host:ip地址或者域名)-p 端口号 ssh root@152.136.*** 上传文件scp:(r加上) scp -P 43498 -r city_hot ...

  4. activity 变成后台进程后被杀死_Android 后台运行白名单,优雅实现保活

    作者:NanBox 链接:https://www.jianshu.com/p/32b7241124a2 欢迎关注专栏:里面定期分享Android架构技术知识点及解析,还会不断更新的BATJ面试专题,欢 ...

  5. linux shell 无法ssh,linux – BASH和/或.BASHRC在SU或SSH登录后无法正常工作,除非运行“bash”命令...

    我有一台运行Ubuntu 10.04的Amazon EC2机器. 默认用户ubuntu的.bashrc似乎行为正常,但如果我ssh或su对第二个用户,mikey,它不能正常显示,直到我运行bash: ...

  6. linux下如何关闭火狐进程,解决Firefox 关闭后firefox.exe进程仍然在后台运行的问题...

    有时候启动Firefox时会弹出个对话框,说Firefox已经在运行,但是没有反应了,必须先关掉这个进程或是重启才能继续.这个我也遇到过,但看上去像是退出失败,进程还留在系统里,在Windows下面的 ...

  7. screen命令——关闭电脑、远程连接窗口(putty)关闭或断开时,程序断开后在linux服务器后台继续运行

    1.创建窗口,并命名.name自己命名,我取名为cnn  screen -S cnn screen -S name 自动跳入一个干净界面,也就是你命名的窗口. 2.Screen窗口执行你的代码 pyt ...

  8. 用以促学——Linux进程后台运行的原理、方法、比较及其实现

    用以促学--Linux进程后台运行的原理.方法.比较及其实现 文章目录 用以促学--Linux进程后台运行的原理.方法.比较及其实现 前言 相关基础知识 应用场景 问题所在 linux概念说明 ses ...

  9. nohup和后台运行,进程查看及终止

    1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg - ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup ...

最新文章

  1. 使用 Vml 制作立体柱状投票统计图的完整程序
  2. hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
  3. Unity 2D游戏开发教程之2D游戏的运行效果
  4. mysql数据库充值网站程序_MySQL数据库安装
  5. C# 控制台应用程序输出颜色字体[更正版]
  6. python3 绝对值_Python的绝对值最大的数字,python
  7. jQuery插件——自定义jQuery插件
  8. CASS 快捷键设置方法
  9. 短信验证码 超时 java_短信验证码被刷怎么办?java 短信验证码防刷策略
  10. 那些年Android开发遇到的坑(JNI 之 Illegal start byte 0xfe)
  11. ubuntu输入法快捷键设置ctrl+shift
  12. diy服务器个人主机_DIY个人服务器
  13. MySQL索引有序性分析
  14. 机智云AIoT开发平台,让物联网产品开发和运营有迹可循
  15. FasterReport
  16. marked.js读取markdown文件,图片实现点击放大
  17. WirelessCar选择亚马逊云科技为云服务商,打造全场景互联汽车解决方案
  18. matlab只读改为可修改,matlab – 获取绘图的只读属性名称列表
  19. Word中孤行控制解释
  20. 软连接和硬链接的区别

热门文章

  1. c语言控制台不退出程序,怎样可以屏蔽控制台程序的关闭按钮
  2. 使用 Chrome 调试 Vue3 的 TypeScript 源码
  3. LVS配置(DR模式)
  4. 计算机网络知识大总结,包含各种熟悉得不能再熟悉的术语解析
  5. 烫烫烫和屯屯屯2021
  6. git clone --depth=1引起的问题
  7. 减速箱箱体尺寸是怎样计算的_皮带输送机减速机漏油、油温高可不能小觑,原因及处理方法教给你...
  8. ArcGIS水文分析实战教程(3)DEM数据准备
  9. golang编译之vendor机制
  10. Ubuntu14.04+RabbitMQ3.6.3+Golang的最佳实践