Answers:
这篇文章可能会有所帮助。建议是:
在坏消息,当然是,BG将需要在这个过程中运行相同的外壳做......但它可能正在后台运行。
在真正的坏消息是,不认通话可能需要在同一个壳来完成。在这种情况下,是的,您很困惑。但是我不确定,也许root可以强制断开连接。
嗯 可能的好消息 -tcsh会自动删除:
如果tcsh异常退出,它将在退出时自动放弃在后台运行的作业。
因此,如果您的长期过程已经处于后台,那么终止其tcsh父进程应该可以使其继续进行。现在,该过程已与启动终端断开连接。(如果没有,请参见上面的“坏消息”。)
不幸的是,它不是屏幕,所以没有真正的重新连接。您可以使用gdb进行伪造(同样,从第一个链接开始):
[...]有一些肮脏的骇客,并非不可能重新打开进程的stdout / stderr / stdin。
因此,您仍然可以创建一个空白屏幕窗口(例如运行sleep)。
然后例如使用gdb附加到进程,执行一些调用close(0)
调用close(1)
调用close(2)
调用open(“ / dev / pts / xx”,...)
调用dup(0)
调用dup(0)
分离该进程的输出将进入屏幕。它不会连接到该屏幕终端,因此例如[sic]会杀死“ sleep”命令,而不是进程,但是对于OP来说足够了。
我想知道在该过程中是否也不应同时存在“ call dup(1)”和“ call dup(2)” ...
bg
。