Linux

strace 在顯示系統呼叫所用時間時使用的時間單位是什麼?

  • February 19, 2021

使用strace帶有 flag的命令時-T,我想知道用於顯示系統呼叫所用時間的時間單位是多少?我認為它應該在幾秒鐘內,但我不太確定,它似乎從手冊中省略了。

原始碼

if (Tflag) {
   ts_sub(ts, ts, &tcp->etime);
   tprintf(" <%ld.%06ld>",
       (long) ts->tv_sec, (long) ts->tv_nsec / 1000);
}

這意味著時間以秒為單位顯示,小數點後為微秒(從納秒值計算)。

如果你跑

strace -T  sleep 2

你會看見

nanosleep({tv_sec=2, tv_nsec=0}, NULL)  = 0 <2.000230>

所以看起來花費的時間是以秒為單位的。

引用自:https://unix.stackexchange.com/questions/469585