Screen | Linux远程会话管理

前言

最近在centos7搭建的 rss 服务,总是需要 putty 更新,关掉窗口或者断开连接,这个任务就会被杀掉。没有实现常驻后台,或者开机启动。

相关介绍

为什么关掉窗口/断开连接会使得正在运行的程序死掉?
元凶:SIGHUP 信号
Linux/Unix中,有这样几个概念:

根据POSIX.1定义:
* 挂断信号(SIGHUP)默认的动作是终止程序。
* 当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
* 如果会话期首进程终止,则该信号发送到该会话期前台进程组。
* 一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。
因此当网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

使用

会话分离与恢复

例如,我们打开一个screen screen vi /tmp/text.txt
之后我们想暂时退出做点别的事情,那么在screen窗口键入C-a d,Screen会给出detached提示:
暂时中断会话
过后,我们可以通过 screen -ls 找到该screen会话,通过 screen -r 12865 重新连接该会话

参考资料

http://blog.sina.com.cn/s/blog_4f8ea2ef0100zosg.html
https://www.cnblogs.com/lpfuture/p/5786843.html

其他

在 install 过程中,出现了 Another app is currently holding the yum lock,使用kill -9 pid即可,pid为报错中提到。

— 于 共写了1471个字
— 文内使用到的标签:
emin.ink

发表评论

电子邮件地址不会被公开。