一尘不染

如何获取后台进程的进程ID?

linux

我从shell脚本启动了一个后台进程,我想在脚本结束后终止该进程。

如何从我的shell脚本中获取此过程的PID?据我所知,变量$!包含当前脚本的PID,而不是后台进程。


阅读 534

收藏
2020-06-02

共1个答案

一尘不染

您需要在启动时保存后台进程的PID:

foo &
FOO_PID=$!
# do other stuff
kill $FOO_PID

您不能使用作业控制,因为它是一种交互式功能,并且与控制终端绑定在一起。脚本完全不必附加终端,因此作业控制不一定可用。

2020-06-02