timeout
对于某些脚本情况,GNU coreutils 命令非常方便,如果可以快速运行,则允许使用命令的输出;如果花费太长时间,可以跳过该命令的输出。
如何近似timeout
仅使用POSIX指定的实用程序的基本行为?
(我想它可能涉及的组合wait
,sleep
,kill
和谁知道什么,但也许我失去了一个更简单的方法。)
3
请参阅在shell脚本中超时,但是我不认为这是重复的,因为我要求可移植到POSIX之前的系统,并且我要求保留stdin和stdout,而某些涉及后台进程的解决方案则对此予以排除。
—
吉尔(Gilles)“所以,别再邪恶了”
command & pid=$! ; sleep 5 && kill $pid
@Pandya不会引入轻微的竞争状态,如果运行
—
通配符
command
迅速pid
,在kill
命令运行之前是否有被另一个进程重新使用的可能性很小?我不想在生产代码
您能否进一步说明您要解决的潜在问题?为什么不只是编译
—
James Youngman
timeout
程序并使用它呢?