我从我的 shell 脚本启动了一个后台进程,我想在我的脚本完成后终止这个进程。
如何从我的 shell 脚本中获取此进程的 PID?据我所见,变量 $!
包含当前脚本的 PID,而不是后台进程。
最佳答案
需要在启动时保存后台进程的PID:
foo &
FOO_PID=$!
# do other stuff
kill $FOO_PID
您不能使用作业控制,因为这是一项交互功能并且与控制终端相关联。脚本不一定要连接终端,因此作业控制不一定可用。
https://stackoverflow.com/questions/1908610/