我在 SSH shell 上有一个正在运行的程序。我想暂停它并在我回来时能够取消暂停它的执行。
我想到的一种方法是将其所有权转移到屏幕外壳,从而使其在那里运行。
是否有不同的方式进行?
有时我在 gnome-terminal 中运行一个应用程序,但后来我突然不得不重新启动 gnome 或其他东西。我想这个问题的答案也很有用,然后我想在发生某些事情的地方与 SSH 断开连接。
Gnome 的终端树如下所示:
gnome-terminal
bash
some-boring-process
Run Code Online (Sandbox Code Playgroud)
我可以bash
从gnome-terminal
(或some-boring-process
从 bash分离并将其输出重定向到某个地方)吗?如果我只是杀死gnome-terminal
,bash
将被杀死以将其所有子进程
如果我关闭启动某个进程的虚拟终端,输出是直接转到/dev/null
,还是会以某种方式污染内存?
无论如何,我可以在此之后的任何时候获取输出以继续阅读吗?
[编辑]:那么,否认一个过程的那一刻是否有效地结束了我控制其输出的权力?
我还注意到,如果我否认一个停止的进程,起初一切似乎都很正常:它既不会终止,也不会显示在作业中。但是,如果我退出(并且我不是说关闭终端,只是从 退出su
,例如),该过程将终止。尽管如此,后台运行的被拒绝的进程可以保持运行。