【发布时间】:2022-01-04 03:57:48
【问题描述】:
如何杀死一个 shell 脚本生成的所有进程? myscript 运行了几次并创建了不需要的进程,我想杀死它们。我正在运行 Ubuntu 20。
123 sh /usr/local/bin/myscript /mnt/local/data_file/data1.txt
312 sh /usr/local/bin/myscript /mnt/local/data_file/data1.txt
452 sh /usr/local/bin/myscript /mnt/local/data_file/data1.txt
455 sh /usr/local/bin/myscript /mnt/local/data_file/data1.txt
1329 sh /usr/local/bin/myscript /mnt/local/data_file/data1.txt
我已经尝试了here 发布的解决方案,但它并没有杀死他们。有人可以帮我找到一种自动查找进程并杀死它们的方法吗?
【问题讨论】:
-
你是想只做一次(在这种情况下
kill 123 312 452 455 1329应该工作),还是你想自动化进程清理?如果是后者,您到底在运行什么(注意:我推荐 reinierpost 评论中的变体),以及究竟发生了什么(例如,您是否收到任何错误消息等)? -
另外,杀死一个父进程将杀死它的所有子进程,除非这些子进程是使用
nohup命令运行的——那些可能是那些“不工作”的?如果是这样,我猜除了递归之外没有简单的答案。