Linux coreutils超时相对或绝对时间?

时间:2014-04-28 16:52:51

标签: linux timeout

我正在使用coreutils 8.13,并希望将timeout命令与python子进程结合使用。如果在长时间运行的呼叫期间更改系统时钟,超时命令是否会按预期工作?换句话说,timeout命令是使用绝对时间(受更改系统时钟影响)还是相对时间(不受更改系统时钟的影响)?

编辑:经过一番挖掘,我已经缩小了答案取决于unistd.h中“警报”的行为。仍在挖掘源头......请救救我。

Edit2:较旧版本的coreutils(< 8.13)使用带有ITIMER_REAL的alarm(2)来超时。较新的版本(> = 8.13)使用timer_create(2)和CLOCK_REALTIME来超时。 This帖子告诉我,我的实现应该受到系统时钟更改的影响。但事实并非如此。使用运行while循环的python脚本进行的简单测试表明,更改系统时钟不会影响超时。 ???

1 个答案:

答案 0 :(得分:0)

  

对CLOCK_REALTIME时钟的调整对基于该时钟的相对定时器没有影响。

至少,根据this answerthis somewhat similar question