保持进程在SSH客户端断开后仍继续运行的方法
使用SCREEN让客户端断开之后仍然执行命令。
安装
1 | sudo apt-get install -y screen |
使用
- 创建并进入新会话。
1 | screen -S [Name] # [Name]为自定义会话名称。 |
- 在新会话中执行目标任务。
- 分离会话。 同时按下Ctrl+A+D键,分离当前 screen 会话,此时进程在SSH客户端断开后仍可继续运行。
- 恢复会话。
- 查看会话进程PID,用于后续恢复。 示例中screen会话进程PID为2046。
1
2
3
4
5
6sudo screen -ls
# 输出:
There is a screen on:
2046.mytask (Detached)
1 Socket in /run/screen/S-root. - 恢复对后台任务的控制。
1
screen -r -d [PID]
- 查看会话进程PID,用于后续恢复。
- 注销会话。
1
kill [PID]