在我使用nohup启动它之后,如何监视仍在运行的作业(我猜是分离的?),退出服务器并重新登录?通常情况下,我jobs -l会查看正在运行的内容,但这显示为空白.
您需要了解流程和工作之间的区别.作业由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)
| 归档时间: |
|
| 查看次数: |
1933 次 |
| 最近记录: |