Linux
strace 在顯示系統呼叫所用時間時使用的時間單位是什麼?
使用
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>
所以看起來花費的時間是以秒為單位的。