linux - 运行进程背景

时间:2010-12-24 08:45:41

标签: linux

我想在远程linux服务器上运行一个进程,并在关闭putty终端后保持该进程处于活动状态,

什么是正确的命令?

3 个答案:

答案 0 :(得分:6)

您有两种选择:

  1. 使用GNU screen,这将允许您运行命令并将其从终端中分离,然后将其重新附加到其他会话。我将它用于长期运行的进程,其输出我希望能够随时监视。屏幕是一个真正强大的工具,我强烈建议花一些时间来学习它。
  2. nohup some-command &运行命令,该命令将在后台运行该命令,将其与控制台分离,并将其输出重定向到nohup.out。它将吞下发送到进程的SIGHUP。 (当您关闭终端或注销时,SIGHUP将被发送到由登录shell启动的所有进程,内核将采取的默认操作是终止该进程。这就是为了将&附加到put后台进程不足以让它在注销后继续存在。)

答案 1 :(得分:1)

不要使用nohup垃圾,我讨厌在服务器上看到它;屏幕是一堆浪费和腐烂 - 使用tmux。

如果你想要一个进程后台,那么从一开始就像所有其他守护进程一样双叉:

# ((exec sleep 30)&)
# grep PPid /proc/`pgrep sleep`/status
PPid:   1
# jobs
# disown
bash: disown: current: no such job

享受。

答案 2 :(得分:1)

括号括起来的命令

(command &)

将在原始贝壳的死亡中存活下来。