我正在编写一个脚本,该脚本运行许多同时运行“dig”命令的进程。偶尔(相对罕见,但每次运行都会发生,因为我运行 dig 很多次)dig 命令会挂起,CPU 为 0%。因此,我的脚本永远不会终止。我为运行的每个 dig 命令创建了一个监视进程,它会在一段时间后终止它,但我想知道是否有更简单、更有效的方法来运行具有预定“到期日期”的进程,即如果进程运行超过 X 秒,它会收到终止它的信号。
谢谢!
答案1
您可以使用暂停命令 :
超时 30 秒 my_command my_args
有关详细信息,请参阅手册页。
答案2
问题是为什么你的 dig 进程会挂起。尝试在 ltrace 和 strace 等调试工具下运行它,甚至在 ddd 下运行它,然后看看为什么它挂了。如果你发现任何异常,请将其作为错误发布,这是开源软件变得更好的唯一方法。
挖掘应该会超时,但是您的网络可能有问题。
答案3
您还可以尝试超时选项dig
,例如+time=T
+tries=T etc. see the
dig` 手册页了解更多信息