在nohup之后的工作-l

Mit*_*ops 4 linux bash nohup

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

Thi*_*Not 6

您需要了解流程和工作之间区别.作业由shell管理,因此当您结束终端会话并启动一个新会话时,您现在处于一个新的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
Run Code Online (Sandbox Code Playgroud)