我想timeout
在一小时后杀死一个脚本。
在我运行的 debian 上timeout 1h <script>
,它可以正常工作。
在我的 Arch linux 机器上,情况有所不同。在尝试了一些东西之后,我想我发现问题在于我的超时二进制文件不使用实际的系统时间,而是 CPU 时间。我想超时使用的脚本wget
显然不会占用大量 CPU 时间。一个timeout 3600 wget
命令在被终止之前最多可以运行半天。
timeout 5 dd if=/dev/zero of=/dev/null
但是在 6.6 秒的时钟时间(5.1 秒的 CPU 时间)后被杀死。
我找不到timeout
二进制文件(澄清:不在我的系统上,我的意思是在网上下载),基本上每个来源都说“它带有 linux”。我timeout
没有--version
or --help
,不管它只是这么说的:
Usage:
timeout [-t timelimit] [-m memlimit] [-x hertz] command [arguments ...]
Died at /usr/local/bin/timeout line 29
我是否有一个搞砸的二进制文件?根据man timeout
,版本和帮助选项都应该可用。既然timeout
是linux核心的一部分,我该如何重新安装呢?