我正在从不同的来源收集数据,并希望获得尽可能准确的时间。除了timeit,还有time。monotonic,time.time,有没有类似于Linux的“实时”方法? (我知道,这取决于操作系统(open suse),多任务/多用户系统很难像实时系统那样精确,但在某种程度上,我希望在正常的Linux系统上尽可能精确地测量时间。) 使用time.time方法的示例。如果我在一个循环中使用这个方法,在这个循环中我安装了一个睡眠4秒(从秒8开始),那么度量是: absolute distance to next measurement
8.04026126861572
因此,可以使用timeout来设置进程/命令的最终时限,就像提到的和一样。例如,timeout 300 sleep 1000将在300秒后返回提示,而不是1000秒。
但是,在进程仍在运行时,是否有任何方法可以动态地修改此限制?所以这就是我要找的。
at time 0 : timeout 300 python long_run.py
at time 250 : <some way to extend the timeout limit by another 300 minutes or so>
我试过两种方法,但没能成功。
通过GDB
我试图使用gdb附加到timeout进程。它
我正在Linux中做C程序。我有一个主线程,它连续更新两个变量的值,其他线程每20毫秒将这些变量值写入文件中。我利用睡眠来达到这个时间间隔。示例代码如下。
main()
{
.
.
.
.
.
pthread_create(...write_file..); /* started another thread by passing a function write_file */
while(variable1)
{
updates value of variables
}
return 0;
}
void write_file()
{