Wil*_*rin 11 window-manager session window gnu-screen
有没有办法在不同的屏幕会话之间移动窗口?
例如,假设我有这个场景:
screen -S screen1
vim *.cpp
C-a d
screen -S screen2
Run Code Online (Sandbox Code Playgroud)
有什么办法可以将包含我的 vim 会话的 shell 从 screen1 移动到 screen2 吗?
您可以使用 injcode 在 tty 之间移动进程。要移动带有 PID 的进程,请在目标屏幕窗口中运行:
$ injcode -m retty PID
Run Code Online (Sandbox Code Playgroud)
但是,当您关闭父 Screen 会话时,移动的进程也将终止。
编辑:我错了,它有效。一切都在这里描述了。假设您要移动“htop”并且只有一个实例正在运行:
$ injcode -m retty $(pgrep htop)
$ pkill -SIGSTOP htop
$ pkill -SIGCONT htop
Run Code Online (Sandbox Code Playgroud)
然后在之前的 shell 类型上:
$ disown
Run Code Online (Sandbox Code Playgroud)