【发布时间】:2013-02-10 14:41:16
【问题描述】:
所以我最近了解到kill is not a synchronous 命令,所以我在 bash 中使用了这个 while 循环,太棒了:
while kill PID_OF_THE_PROCESS 2>/dev/null; do sleep 1; done
但是,在某些情况下(非常罕见,但仍然会发生),进程会卡住,并且不会对终止信号起作用。在这些情况下,杀死应用程序的唯一方法是使用“kill -9”。
所以我想知道,如何在 bash 中修改上面的 while 循环,仅当循环已达到第 10 次迭代时才使用 -9 参数?
【问题讨论】:
-
你有什么问题?你想知道如何数数吗?
-
我想知道如何在 bash 的 while 循环中使用计数器,我不懂 bash
-
如果您想知道如何在 bash 中创建计数器,请不要提出关于
kill -9的问题。这将严重混淆水域,因为kill -9通常是一个坏主意,并且绝对在脚本中这样做是一个坏主意。 -
我认真考虑过这样做,但是暴露一个更通用的问题(没有“kill”命令)会更难理解......所以只包括我想使用的命令示例,很有意义恕我直言
-
广义的,
killall问题和这个问题解决了同样的问题。如果这不是一个骗局,那么这是一个过于狭隘的问题,对未来的读者没有多大用处,应该基于这些理由关闭。
标签: bash scripting while-loop kill kill-process