有时我会忘记在屏幕会话下运行一个程序并且无法在中途停止它,而且我知道这会花费很长时间。
有没有办法在不重新启动的情况下筛选已经运行的进程?
答案1
答案2
答案3
看一下雷普特,它的作用正是如此。github 页面上有所有信息。
reptyr - 用于“重新注册”的工具
程式。
reptyr 是一个实用程序,用于获取现有的正在运行的程序并将其附加到新终端。通过 ssh 启动了一个长时间运行的进程,但必须离开并且不想中断它?只需启动一个屏幕,使用 reptyr 抓取它,然后终止 ssh 会话并返回主页。
用法
复制程序 PID
“reptyr PID”将抓取 id 为 PID 的进程并将其附加到您当前的终端。
连接后,该进程将从新终端获取输入并将输出写入新终端,包括 ^C 和 ^Z。(不幸的是,如果您将其置于后台,您仍然必须在旧终端中运行“bg”或“fg”。如果不修补您的 shell,这很可能无法以合理的方式修复。)