我有一个我编写的 shell 脚本,它在有限循环中执行以下步骤:
我产生一个进程,并等待它完成。如果它没有在 40 秒内完成,我执行:
kill -SIGTERM pid
我有时发现,即使执行 kill -SIGTERM pid,进程也不会响应被杀死。在这种情况下,在等待它杀死自己的额外 40 秒后,我然后执行:
kill -9 pid
大多数时候这已经足够了,我继续进行这些步骤的下一个迭代。
问题:有时在执行上述步骤时,我最终不仅拥有了我打算杀死、杀死的进程,而且还有运行脚本的 shell,该脚本执行这些步骤的循环。
问题:是什么原因造成的?