我使用coreutils 8.13,并希望结合python子进程使用timeout命令。如果在长时间运行调用期间更改了系统时钟,超时命令会正常工作吗?换句话说,超时命令是使用绝对时间(受更改的系统时钟影响)还是使用相对时间(不受更改系统时钟的影响)?
编辑:经过一番挖掘,我缩小了范围,认为答案取决于unistd.h中的“警报”行为。还在source...please里挖掘拯救我。
Edit2:较早版本的coreutils (<8.13)使用告警(2)和ITIMER_REAL超时。较新的版本(>=8.13)使用timer_create(2)和CLOCK_REALTIME来超时。This帖子告诉我,我的实现应该受到系统时钟变化的影响。然而,事实并非如此。使用运行while循环的python脚本进行的简单测试告诉我,更改系统时钟不会影响超时。???
发布于 2015-04-04 20:13:37
对CLOCK_REALTIME时钟的调整对基于该时钟的相对计时器没有影响。
至少,根据this answer of this somewhat similar question的说法。
https://stackoverflow.com/questions/23346815
复制相似问题