国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務(wù)器 > Linux服務(wù)器 > 正文

如何在 Linux 中查找一個命令或進程的執(zhí)行時間

2024-09-05 23:05:24
字體:
供稿:網(wǎng)友

在類 Unix 系統(tǒng)中,你可能知道一個命令或進程開始執(zhí)行的時間,以及一個進程運行了多久。 但是,你如何知道這個命令或進程何時結(jié)束或者它完成運行所花費的總時長呢? 在類 Unix 系統(tǒng)中,這是非常容易的! 有一個專門為此設(shè)計的程序名叫 GNU time。 使用 time 程序,我們可以輕松地測量 Linux 操作系統(tǒng)中命令或程序的總執(zhí)行時間。 time 命令在大多數(shù) Linux 發(fā)行版中都有預(yù)裝,所以你不必去安裝它。

在 Linux 中查找一個命令或進程的執(zhí)行時間

要測量一個命令或程序的執(zhí)行時間,運行:

$ /usr/bin/time -p ls

或者,

$ time ls

輸出樣例:

dir1 dir2 file1 file2 mcelogreal 0m0.007suser 0m0.001ssys 0m0.004s$ time ls -a. .bash_logout dir1 file2 mcelog .sudo_as_admin_successful.. .bashrc dir2 .gnupg .profile .wget-hsts.bash_history .cache file1 .local .stackreal 0m0.008suser 0m0.001ssys 0m0.005s

以上命令顯示出了 ls 命令的總執(zhí)行時間。 你可以將 ls 替換為任何命令或進程,以查找總的執(zhí)行時間。

輸出詳解:

  1. real —— 指的是命令或程序所花費的總時間
  2. user —— 指的是在用戶模式下程序所花費的時間
  3. sys —— 指的是在內(nèi)核模式下程序所花費的時間

我們也可以將命令限制為僅運行一段時間。參考如下教程了解更多細節(jié):

time 與 /usr/bin/time

你可能注意到了, 我們在上面的例子中使用了兩個命令 time 和 /usr/bin/time 。 所以,你可能會想知道他們的不同。

首先, 讓我們使用 type 命令看看 time 命令到底是什么。對于那些我們不了解的 Linux 命令,type 命令用于查找相關(guān)命令的信息。 更多詳細信息,請參閱本指南。

$ type -a timetime is a shell keywordtime is /usr/bin/time

正如你在上面的輸出中看到的一樣,time 是兩個東西:

  • 一個是 BASH shell 中內(nèi)建的關(guān)鍵字
  • 一個是可執(zhí)行文件,如 /usr/bin/time

由于 shell 關(guān)鍵字的優(yōu)先級高于可執(zhí)行文件,當(dāng)你沒有給出完整路徑只運行 time 命令時,你運行的是 shell 內(nèi)建的命令。 但是,當(dāng)你運行 /usr/bin/time 時,你運行的是真正的 GNU time 命令。 因此,為了執(zhí)行真正的命令你可能需要給出完整路徑。

在大多數(shù) shell 中如 BASH、ZSH、CSH、KSH、TCSH 等,內(nèi)建的關(guān)鍵字 time 是可用的。 time 關(guān)鍵字的選項少于該可執(zhí)行文件,你可以使用的唯一選項是 -p。

你現(xiàn)在知道了如何使用 time 命令查找給定命令或進程的總執(zhí)行時間。 想進一步了解 GNU time 工具嗎? 繼續(xù)閱讀吧!

關(guān)于 GNU time 程序的簡要介紹

GNU time 程序運行帶有給定參數(shù)的命令或程序,并在命令完成后將系統(tǒng)資源使用情況匯總到標準輸出。 與 time 關(guān)鍵字不同,GNU time 程序不僅顯示命令或進程的執(zhí)行時間,還顯示內(nèi)存、I/O 和 IPC 調(diào)用等其他資源。

time 命令的語法是:

/usr/bin/time [options] command [arguments...]

上述語法中的 options 是指一組可以與 time 命令一起使用去執(zhí)行特定功能的選項。 下面給出了可用的選項:

  • -f, –format —— 使用此選項可以根據(jù)需求指定輸出格式。
  • -p, –portability —— 使用簡要的輸出格式。
  • -o file, –output=FILE —— 將輸出寫到指定文件中而不是到標準輸出。
  • -a, –append —— 將輸出追加到文件中而不是覆蓋它。
  • -v, –verbose —— 此選項顯示 time 命令輸出的詳細信息。
  • –quiet – 此選項可以防止 time 命令報告程序的狀態(tài).

當(dāng)不帶任何選項使用 GNU time 命令時,你將看到以下輸出。

$ /usr/bin/time wc /etc/hosts9 28 273 /etc/hosts0.00user 0.00system 0:00.00elapsed 66%CPU (0avgtext+0avgdata 2024maxresident)k0inputs+0outputs (0major+73minor)pagefaults 0swaps

如果你用 shell 關(guān)鍵字 time 運行相同的命令, 輸出會有一點兒不同:

$ time wc /etc/hosts9 28 273 /etc/hostsreal 0m0.006suser 0m0.001ssys 0m0.004s

有時,你可能希望將系統(tǒng)資源使用情況輸出到文件中而不是終端上。 為此, 你可以使用 -o 選項,如下所示。

$ /usr/bin/time -o file.txt lsdir1 dir2 file1 file2 file.txt mcelog

正如你看到的,time 命令不會顯示到終端上。因為我們將輸出寫到了file.txt 的文件中。 讓我們看一下這個文件的內(nèi)容:

$ cat file.txt0.00user 0.00system 0:00.00elapsed 66%CPU (0avgtext+0avgdata 2512maxresident)k0inputs+0outputs (0major+106minor)pagefaults 0swaps

當(dāng)你使用 -o 選項時, 如果你沒有一個名為 file.txt 的文件,它會創(chuàng)建一個并把輸出寫進去。如果文件存在,它會覆蓋文件原來的內(nèi)容。

你可以使用 -a 選項將輸出追加到文件后面,而不是覆蓋它的內(nèi)容。

$ /usr/bin/time -a file.txt ls

-f 選項允許用戶根據(jù)自己的喜好控制輸出格式。 比如說,以下命令的輸出僅顯示用戶,系統(tǒng)和總時間。

$ /usr/bin/time -f "/t%E real,/t%U user,/t%S sys" lsdir1 dir2 file1 file2 mcelog0:00.00 real, 0.00 user, 0.00 sys

請注意 shell 中內(nèi)建的 time 命令并不具有 GNU time 程序的所有功能。

有關(guān) GNU time 程序的詳細說明可以使用 man 命令來查看。

$ man time

想要了解有關(guān) Bash 內(nèi)建 time 關(guān)鍵字的更多信息,請運行:

$ help time

總結(jié)

以上所述是小編給大家介紹的在 Linux 中查找一個命令或進程的執(zhí)行時間,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到服務(wù)器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 酉阳| 尉氏县| 丹阳市| 靖远县| 平乐县| 达尔| 修武县| 开化县| 通城县| 永修县| 新密市| 乌海市| 彰武县| 昌黎县| 海丰县| 大连市| 开江县| 尉氏县| 平湖市| 凌海市| 阜城县| 聂拉木县| 香港 | 竹溪县| 临西县| 青田县| 张掖市| 阳谷县| 泗阳县| 来宾市| 通江县| 宁蒗| 平和县| 和静县| 巴彦淖尔市| 房产| 揭西县| 江山市| 二连浩特市| 万全县| 峨边|