sta*_*fry 7 bash process jobs reptyr disown
如果我找到disown一份工作bash并改变主意,我可以以某种方式撤消它吗?
如果是这样,更进一步,是否可以将任意流程置于作业控制之下(可接受的限制是我拥有该流程)?
最后,这是否会使以下工作流程成为可能:
^z后跟bg)jobs -p %+获取它的<pid>)screen或tmux会话,附加到它并将其用于以下步骤reptyr抢的作业(reptyr <pid>)<pid>到 shell 的作业控制(这可能吗?)^Z)除了最后两步,我什么都能做。停止作业^Z不起作用,因为该进程不在 shell 的作业列表中。
我的研究表明不可能拥有(反向disown)一个 pid 但希望我错了......
一般来说,shell 不可能\xe2\x80\x9cadopt\xe2\x80\x9d 作业。对于 shell 来说,工作意味着以下几件事:
\n\n其中大多数不需要 shell 和作业之间有任何特殊关联,但也有一些需要:
\n\n一个进程不可能采用另一个进程,也不可能将进程附加到现有会话。因此,为了支持采用,shell 必须管理部分状态。普通的 shell 还没有实现这一点。
\n\n在特殊情况下,如果该作业最初由该 shell 启动,然后被否认,则不会出现这些问题。但是,没有一个常见的 shell 实现了允许它们在最初启动作业时添加作业的异常。
\n\n在您的场景中,通常最方便的做法是在 screen 或 tmux 会话中启动作业,如果您想暂停或恢复作业,则可以使用 PID。
\n