使用nohup启动它,退出服务器并重新登录后,如何监视仍在运行的作业(我猜是分离的?)?通常,我使用jobs -l查看正在运行的内容,但这显示为空白。

最佳答案

您需要了解difference between a process and a job。作业由 shell 程序管理,因此,当您结束终端 session 并开始新的 session 时,您现在处于具有其作业表的Bash的新实例中。您无法从原始Shell访问作业,但正如其他答案所指出的那样,您仍然可以找到并操纵已启动的进程。例如:

$ nohup sleep 60 &
[1] 27767
# Our job is in the jobs table
$ jobs
[1]+  Running                 nohup sleep 60 &
# And this is the process we started
$ ps -p 27767
  PID TTY          TIME CMD
27767 pts/1    00:00:00 sleep
$ exit # and start a new session
# Now jobs returns nothing because the jobs table is empty
$ jobs
# But our process is still alive and kicking...
$ ps -p 27767
  PID TTY          TIME CMD
27767 pts/1    00:00:00 sleep
# Until we decide to kill it
$ kill 27767
# Now the process is gone
$ ps -p 27767
  PID TTY          TIME CMD

关于linux - Nohup之后的作业-l,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18217597/

10-10 09:33