亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux time命令詳解

      linux time命令詳解

      時(shí)間: 佳洲1085 分享

      linux time命令詳解

        Linux下time命令可以獲取到一個(gè)程序的執(zhí)行時(shí)間,那么它的具體語法是怎樣的呢?下面由學(xué)習(xí)啦小編為大家整理了linux time命令的相關(guān)知識(shí),希望對(duì)大家有幫助!

        【linux time命令說明】

        time — 執(zhí)行命令并計(jì)時(shí)

        【linux time命令格式】

        time [-p] command [arguments...]

        【linux time命令說明】

        執(zhí)行命令行"command [arguments...]",命令行執(zhí)行結(jié)束時(shí)在標(biāo)準(zhǔn)輸出中打印執(zhí)行該命令行的時(shí)間統(tǒng)計(jì)結(jié)果,其統(tǒng)計(jì)結(jié)果包含以下數(shù)據(jù):

        1)實(shí)際時(shí)間(real time): 從command命令行開始執(zhí)行到運(yùn)行終止的消逝時(shí)間;

        2)用戶CPU時(shí)間(user CPU time): 命令執(zhí)行完成花費(fèi)的用戶CPU時(shí)間,即命令在用戶態(tài)中執(zhí)行時(shí)間總和;

        3)系統(tǒng)CPU時(shí)間(system CPU time): 命令執(zhí)行完成花費(fèi)的系統(tǒng)CPU時(shí)間,即命令在核心態(tài)中執(zhí)行時(shí)間總和。

        其中,用戶CPU時(shí)間和系統(tǒng)CPU時(shí)間之和為CPU時(shí)間,即命令占用CPU執(zhí)行的時(shí)間總和。實(shí)際時(shí)間要大于CPU時(shí)間,因?yàn)閘inux是多任務(wù)操作系統(tǒng),往往在執(zhí)行一條命令時(shí),系統(tǒng)還要處理其它任務(wù)。

        另一個(gè)需要注意的問題是即使每次執(zhí)行相同命令,但所花費(fèi)的時(shí)間也是不一樣,其花費(fèi)時(shí)間是與系統(tǒng)運(yùn)行相關(guān)的。

        例1:

        1. # time date

        2. Sun Mar 26 22:45:34 GMT-8 2006

        3.

        4. real 0m0.136s

        5. user 0m0.010s

        6. sys 0m0.070s

        7. #

        在例1中,執(zhí)行命令"time date"(見第1行)。系統(tǒng)先執(zhí)行命令"date",第2行為命令"date"的執(zhí)行結(jié)果。第3-6行為執(zhí)行命令"date"的時(shí)間統(tǒng)計(jì)結(jié)果,其中第4行"real"為實(shí)際時(shí)間,第5行"user"為用戶CPU時(shí)間,第6行"sys"為系統(tǒng)CPU時(shí)間。以上三種時(shí)間的顯示格式均為MMmNN[.FFF]s。

        在例1中,CPU時(shí)間 = 用戶CPU時(shí)間 + 系統(tǒng)CPU時(shí)間 = 0m0.010s + 0m0.070s = 0m0.080s,實(shí)際時(shí)間大于CPU時(shí)間,說明在date命令運(yùn)行的同時(shí),還有其它任務(wù)在運(yùn)行。

        【linux time命令參數(shù)說明】

        -p 以POSIX缺省的時(shí)間格式打印時(shí)間統(tǒng)計(jì)結(jié)果,單位為秒。詳細(xì)的輸出格式見例2。

        例2:

        1. # time -p date

        2. Wed Mar 27 00:33:11 GMT-8 2006

        3. real 0.11

        4. user 0.00

        5. sys 0.02

        6. #

        在例2中,同樣執(zhí)行命令"time date"(見第1行)。系統(tǒng)先執(zhí)行命令 "date",第2行為該命令的執(zhí)行結(jié)果。第3-5行為執(zhí)行命令"date"的時(shí)間統(tǒng)計(jì)結(jié)果。注意本例的時(shí)間格式與例1中的時(shí)間格式差別,使用-p 參數(shù)后的時(shí)間顯示格式為NN.FF,其單位為秒。

        【linux time命令相關(guān)環(huán)境變量說明】

        TIMEFORMAT 自定義輸出的時(shí)間格式。

        我們也可以通過環(huán)境變量TIMEFORMAT來自定義輸出的時(shí)間格式[1]。格式中使用和標(biāo)準(zhǔn)C中的函數(shù)printf一致的轉(zhuǎn)義符,以及使用以下的轉(zhuǎn)義序列來指定輸出的時(shí)間格式:

        %[prec][l][RUS]

        其中,選項(xiàng)prec為指定時(shí)間精度,即小數(shù)點(diǎn)后面的位數(shù);選項(xiàng)l表示使用分秒(具體格式為:MMmNN[.FFF]s)的格式;最后一個(gè)字符表示時(shí)間的類型,其中R表示實(shí)際時(shí)間,U表示用戶CPU時(shí)間,S表示系統(tǒng)CPU 時(shí)間,它們的單位均為秒。

        time命令缺省輸出的時(shí)間格式同 TIMEFORMAT=$'/nreal/t%3lR/nuser/t%3lU/nsys/t%3lS'。

        使用-p參數(shù)的time命令輸出的時(shí)間格式同 TIMEFORMAT=$'real %2R/nuser %2U/nsys %2S'。

        例3:

        1. # export TIMEFORMAT=$'real %2R/nuser %2U/nsys %2S'

        2. # time date

        3. Wed Mar 27 00:52:03 GMT-8 2006

        4. real 0.04

        5. user 0.00

        6. sys 0.01

        7. #

        比較例2和例3顯示結(jié)果,很容易發(fā)現(xiàn)例3雖然沒有使用參數(shù)-p,但其輸出的結(jié)果和例2一模一樣。

        當(dāng)然,我們也可以修改為任何自己喜歡的時(shí)間格式。

        例4:

        1. # export TIMEFORMAT=$'/nHello, ThinkerABC!/nreal time : %lR/nuser CUP time : %lU/nsystem CPU time : %lS'

        2. # time date

        3. Wed Mar 27 01:09:26 GMT-8 2006

        4.

        5. Hello, ThinkerABC!

        6. real time : 0m0.016s

        7. user CUP time : 0m0.006s

        8. system CPU time : 0m0.008s

        9. #

        例4的第4-8行正是我們自定義的輸出格式。

        從以上介紹了三種指定時(shí)間格式的方法,即缺省的時(shí)間格式、使用參數(shù)-p的POSIX缺省的時(shí)間格式和設(shè)定環(huán)境變量TIMEFORMAT自定義的時(shí)間格式,Linux系統(tǒng)使用的先后順序如下:

        1.參數(shù)-p的POSIX缺省時(shí)間格式;

        2.環(huán)境變量TIMEFORMAT自定義的時(shí)間格式;

        3.缺省的時(shí)間格式。

        【linux time命令退出狀態(tài)說明】

        如果能執(zhí)行command命令,則返回該命令的退出狀態(tài),否則返回如下的退出狀態(tài)值:

        127 命令未找到

        126 命令找到,但不能執(zhí)行

        1-125 其它錯(cuò)誤

      3583373