2011-09-05 60 views
2

但願不是this question愚弄的人......問題測量程序執行時間的Linux /猛砸

我試圖確定一個指定的程序與時間函數運行時的曲線。

我想要做的是自動執行此過程以在Excel中獲取數百個數據點,但是在Linux終端中運行時與bash腳本運行時會得到不同的輸出。

這裏是我所得到的,當我從終端運行:

time program_1 500 
> 0.004u 0.000s 0:00.00 0.0% 0+0k 0+0io 0pf+0w 

,這裏是我的bash腳本(第一個參數是程序,第二個是數字)

#!/bin/bash 

time $1 $2 

和在這裏......我的輸出是不同的,儘管當我以文字方式迴應上述聲明時,它看起來是完全相同的呼叫。

> sh runner.sh program_1 500 
> 0.00user 0.00system 0:00.00elapsed 400%CPU (0avgtext+0avgdata 3488maxresident)k0inputs+0outputs (0major+275minor)pagefaults 0swaps 

爲什麼區別?

回答

3

那麼,實際上有2 time命令,其中之一是內置到bash。 man bash爲內置的/usr/bin/timehelp time中安裝的一個。使用腳本中的絕對路徑來獲得相同的行爲。