我有一个脚本可以检查日志文件并搜索字符串,它在后台运行&
。当我ps -ef | grep script.sh
杀死该脚本时,我总是可以看到同一脚本的进程tail
和进程仍然存在。grep
另一件事是,该进程的进程IDtail
是该script.sh
进程的进程ID减2(即script.sh
pid为7002,tail
pid为7000,grep
pid为7001。
- 为什么里面的命令
script.sh
作为自己的服务启动,父进程pid = 1? - 如何有效地杀死
script.sh
它创建的所有子进程?
谢谢。
答案1
解决了!
问题是脚本完成了&
当我从脚本中删除&
并运行命令时,如下所示:
nohup sudo script.sh &
tail
和进程grep
位于主script
pid 下:)