脚本内的 tail --follow=name 作为单独的进程启动

脚本内的 tail --follow=name 作为单独的进程启动

我有一个脚本可以检查日志文件并搜索字符串,它在后台运行&。当我ps -ef | grep script.sh杀死该脚本时,我总是可以看到同一脚本的进程tail和进程仍然存在。grep

另一件事是,该进程的进程IDtail是该script.sh进程的进程ID减2(即script.shpid为7002,tailpid为7000,greppid为7001。

  1. 为什么里面的命令script.sh作为自己的服务启动,父进程pid = 1?
  2. 如何有效地杀死script.sh它创建的所有子进程?

谢谢。

答案1

解决了!

问题是脚本完成了&

当我从脚本中删除&并运行命令时,如下所示:

nohup sudo script.sh &

tail和进程grep位于主scriptpid 下:)

相关内容