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

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

我的 Linux 机器(Debian squeeze)上运行着一个进程,需要几个小时(或几天)才能完成。

我不想停止它,然后使用 重新启动它screentmux或者将输出重定向到nohup

是否有一种安全的方法可以将其置于后台^Zbg以便我关闭 ssh 会话后它将继续运行?

答案1

使用

commandtoexecute &> /dev/null &

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

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

例如 commandtoexecute &> /tmp/file1 &

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

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

如果您想脱离已在运行的进程。使用 disown <pid> pid 来表示您的进程 ID。

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

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

答复:https://serverfault.com/a/284795

相关内容