我从shell脚本启动了一个后台进程,我想在脚本结束后终止该进程。
如何从我的shell脚本中获取此过程的PID?据我所知,变量$!包含当前脚本的PID,而不是后台进程。
$!
您需要在启动时保存后台进程的PID:
foo & FOO_PID=$! # do other stuff kill $FOO_PID
您不能使用作业控制,因为它是一种交互式功能,并且与控制终端绑定在一起。脚本完全不必附加终端,因此作业控制不一定可用。