我正在运行GNU Coreutils的超时命令,
Gtimeout 600 Python myprogram.py
根据手册,
持续时间是一个浮点数,后跟一个可选单位:
"s"表示秒(默认值) "m"表示分钟 "h"表示小时 "d"表示 日
因此,' python myprogram.py
部分应在 600 秒(10 分钟)内终止。令我惊讶的是,该命令实际上在 1 小时后超时。为什么?
您的程序可能会忽略SIGTERM,这是gtimeout
用来"请程序终止"的信号。
你可以让gtimeout
使用 SIGKILL,这是不能忽略或阻止的,方法是添加参数-s 9
如下所示:
gtimeout -s 9 python myprogram.py