我想在超时运行一个程序。我是通过使用 timeout
命令这样的
timeout 5 path/to/program
program
使用时间相关的信号:阻止,解阻和升高Sigalrm和sigvtalrm。我不知道timeout
是如何工作的,但我想它也使用时间信号。我是否应该担心program
的信号干扰timeout
,反之亦然?
默认情况下,timeout
将发送SIGTERM
(除非您使用-s
更改(。因此,您不应该与其他任何信号发生任何冲突。
fyi,如果程序被超时退出,则其返回值为124
。您可以使用-k SECONDS
强制杀死(如果不优雅地死亡(,然后将其返回值为137
。