【发布时间】:2014-04-28 16:52:50
【问题描述】:
我正在使用 coreutils 8.13,并希望将 timeout 命令与 python 子进程结合使用。如果在长时间运行的调用期间更改了系统时钟,超时命令会按预期工作吗?也就是说,timeout命令是使用绝对时间(受系统时钟变化影响)还是相对时间(不受系统时钟变化影响)?
编辑:经过一番挖掘,我缩小了答案取决于 unistd.h 中“警报”的行为。仍在挖掘源...请救救我。
Edit2:旧版本的 coreutils (=8.13) 使用 timer_create(2) 和 CLOCK_REALTIME 来超时。 This 帖子告诉我,我的实现应该受到系统时钟变化的影响。然而,事实并非如此。使用运行 while 循环的 python 脚本进行的简单测试表明,更改系统时钟不会影响超时。 ???
【问题讨论】: