后台进程

后台进程

我有一个需要在后台运行的脚本,如果我在前台运行相同的脚本,该脚本运行良好,并且在我们手动中断(ctrl^c)之前它不会停止。

我确信以下命令在后台运行脚本。

sudo -u webs ./spagent_L1 &

执行上述命令后,它将给出作业号和进程号。

[1] 10118

之后,如果我按两次 Enter 键,作业就会停止。

[1]+ Stopped    sudo -u webs ./spagent_L1

if I check the jobs running in background it shows that the job has been stopped.

$> jobs
[1]+ Stopped    sudo -u webs ./spagent_L1

而如果我检查进程正在运行,它会显示上述脚本正在运行。

$> ps -eo user,ppid,pid,cmd,state | grep -i spagent
root 10118 9383 0 05:42 pts/1 00:00:00 sudo -u webs ./spagent_L1 T
ape  10122 3983 0 05:42 pts/1 00:00:00 grep -i spagent R

除非我终止进程 10118,否则 jobs 命令会显示该进程已停止的输出。一旦进程被终止,jobs 命令就不会返回任何内容。

那么,上面的输出是否意味着进程仍在运行?谁能帮助我了解那里发生的事情。以及如何在后台运行脚本而不停止它。

提前致谢。

答案1

您可以通过执行以下操作在后台运行该脚本:(sudo -u webs ./spagent_L1 &)然后您应该能够关闭终端(如果您在 DE 中)而不关闭该脚本。

相关内容