Linux之Screen指令

Linux 之 Screen指令

一、背景
操作Linux服务器时需要用SSH或Telnet远程登录,但如果人需要离开电脑一段时间,那该怎么办?
关掉终端窗口,正在运行的程序就会被杀掉。
有时候网络不好,导致连接断开,程序也会被杀掉。
这时候,用上screen的相关指令,就能将程序挂到后台。

二、原理
输入ps -ef指令,查看所有服务器进程。
$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2017 ?        00:01:40 /sbin/init
root         2     0  0  2017 ?        00:00:00 [kthreadd]
root         3     2  0  2017 ?        00:03:08 [migration/0]
root         4     2  0  2017 ?        00:09:47 [ksoftirqd/0]
root         5     2  0  2017 ?        00:00:00 [stopper/0]
root         6     2  0  2017 ?        00:01:34 [watchdog/0]
root         7     2  0  2017 ?        00:03:56 [migration/1]
root         8     2  0  2017 ?        00:00:00 [stopper/1]
root         9     2  0  2017 ?        00:07:13 [ksoftirqd/1]
root        10     2  0  2017 ?        00:01:32 [watchdog/1]
PID(Process Id)是进程ID
PPID(Parent Process Id)是父进程ID
会话(Session)是用户与服务器之间的交互,会话中用户有可能操作着多个进程
如果会话的控制终端关闭,终端接口检测到网络连接断开,就会发送挂断信号(SIGHUP)给控制进程,会话内其他进程也会逐一退出

三、指令
打开新的Screen窗口  $ screen
给screen起个别名
$ screen -S test123
按Ctrl + A + D,Screen窗口关闭,回到前一个窗口,显示detached说明已挂在到后台
(Ctrl + A 加的后面字母,相当于发送指令给窗口,上面是发送 -d )
$ screen
[detached]
找回后台中的Screen会话
$ screen -ls
There is a screen on:
        11603.pts-2.ts_vm_137   (Detached)
1 Socket in /var/run/screen/S-ci123dev.
利用进程ID,重新连接会话,窗口重新弹出,上次的工作仍在
$ screen -r 11603
挂载在后台的Screen会话仍有可能被人为杀掉,此时会显示Dead状态
$ screen -ls
There is a screen on:
        11603.pts-2.ts_vm_137   (Dead ???)
Remove dead screens with 'screen -wipe'.
1 Socket in /var/run/screen/S-ci123dev.
则需要用 $ screen -wipe清除该会话
按Ctrl + A + C ,新开一个Screen
按两次Ctrl + A ,可以在两个Screen窗口切换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值