防止在关闭 SSH 客户端后停止已经运行的后台进程

rub*_*o77 4 linux ssh gnu-screen tmux

我在我的 Linux 机器上运行了一个进程(Debian 挤压),该进程需要数小时(或数天)才能完成。

我不想停止它以重新启动它screentmux或者输出重定向到nohup.

有没有把它与后台的安全方式^Z,并bg因此它会继续,一旦我关闭SSH会话?

Eun*_*Eun 7

commandtoexecute &> /dev/null &

它将在后台运行您的进程,并将所有输出打印到 /dev/null。

替换/dev/null为另一个文件以查看输出。

例如 commandtoexecute &> /tmp/file1 &

用于 tail -f /tmp/file1再次附加到输出

您还可以重定向标准输入,请参阅 http://www.tuxfiles.org/linuxhelp/iodirection.html

如果你想脱离一个已经在运行的进程。使用 disown <pid> 其中 pid 是您的进程 ID。

您还可以将终端更改为另一个终端:

  1. 开始屏幕
  2. 获取进程的pid
  3. reptyr <pid>
  4. 使用 CTRL+A+D 分离

reptyr:https ://serverfault.com/a/284795

  • &amp;&gt; 重定向所有输出:D (2认同)