ssh后台运行程序
设想这样一种情况:
你使用ssh 客户端(如putty 或xshell ),正在使用Linux 服务器跑一个程序或下载一个东西,突然你网线被人动了一下或网络环境发生了不稳定现象,甚至电脑突然没电了,辣么,你正在运行的程序就不得不从头再来。
screen 的出现很好地解决了这一痛点
安装screen
Jeaten:~$ apt-get install screen
—— 此安装以Ubuntu 系统为例
screen 的使用
Jeaten:~$ screen
- 显示现有的
screen 作业 – screen -ls
Jeaten:~$ screen -ls
There are screens on:
29371.pts-1.X10DAx-1 (2021年08月01日 20时08分45秒) (Attached)
29295.pts-1.X10DAx-1 (2021年08月01日 20时07分36秒) (Detached)
2 Sockets in /run/screen/S-Jeaten.
Jeaten:~$ screen -r screen_id
—— screen_id 为screen id号或进程号
Jeaten:~$ screen -ls
There are screens on:
29450.pts-1.X10DAx-1 (2021年08月01日 20时13分31秒) (Attached)
29371.pts-1.X10DAx-1 (2021年08月01日 20时08分45秒) (Detached)
2 Sockets in /run/screen/S-Jeaten.
- 直接
kill pid(进程号)
Jeaten:~$ kill 29450
[screen is terminating]
Jeaten:~$ screen -ls
There is a screen on:
29371.pts-1.X10DAx-1 (2021年08月01日 20时08分45秒) (Detached)
1 Socket in /run/screen/S-Jeaten.
- 使用
screen -S screen_id -X quit
Jeaten:~$ screen -ls
There is a screen on:
29371.pts-1.X10DAx-1 (2021年08月01日 20时08分45秒) (Detached)
1 Socket in /run/screen/S-lijitong.
Jeaten:~$ screen -S 29371 -X quit
Jeaten:~$ screen -ls
No Sockets found in /run/screen/S-Jeaten.
Jeaten:~$
- 有时候仅凭screen id无法区分具体的screen,我们可以为其命名
Jeaten:~$ screen -S test
Jeaten:~$ screen -ls
There is a screen on:
23800.test (2021年08月02日 10时09分44秒) (Attached)
1 Socket in /run/screen/S-Jeaten.
Jeaten:~$
|