Linux将前台进程转入tmux或挂在PID 1下

来自三线的随记
Admin讨论 | 贡献2022年11月20日 (日) 17:31的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

匆匆一记,有时候前台跑了一些很耗时间的操作,跑之前又没开tmux,跑之后想转入tmux或者screen

ctrl + z 将进程转入jobs中

然后 bg 将进程转入background

使用 disown 从当前shell移除该job

开启一个screen 或者 tmux,找到该进程的PID,reptyr $PID (reptyr可能需要手动安装)


ps: 实际操作中,disown以后PPID直接变成 1 了,倒是也达成了目的,有缘再研究看看为什么reptyr 失败

[root@node-1:/root]
# reptyr 1313756
[-] Process 1313757 (gzip) shares 1313756's process group. Unable to attach.
(This most commonly means that 1313756 has a suprocesses).
Unable to attach to pid 1313756: Invalid argument

[root@node-1:/root]
# ps -ef | grep 1313757
root     1313757 1313756 98 22:50 ?        00:18:48 gzip
root     1366939 1364351  0 23:09 pts/0    00:00:00 grep --color=auto 1313757