当前位置 主页 > 服务器问题 > Linux/apache问题 >

    如何在 Linux 中查找一个命令或进程的执行时间(2)

    栏目:Linux/apache问题 时间:2019-10-16 08:16

    当不带任何选项使用 GNU time 命令时,你将看到以下输出。

    $ /usr/bin/time wc /etc/hosts
    9 28 273 /etc/hosts
    0.00user 0.00system 0:00.00elapsed 66%CPU (0avgtext+0avgdata 2024maxresident)k
    0inputs+0outputs (0major+73minor)pagefaults 0swaps

    如果你用 shell 关键字 time 运行相同的命令, 输出会有一点儿不同:

    $ time wc /etc/hosts
    9 28 273 /etc/hosts
    real 0m0.006s
    user 0m0.001s
    sys 0m0.004s

    有时,你可能希望将系统资源使用情况输出到文件中而不是终端上。 为此, 你可以使用 -o 选项,如下所示。

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

    正如你看到的,time 命令不会显示到终端上。因为我们将输出写到了file.txt 的文件中。 让我们看一下这个文件的内容:

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

    当你使用 -o 选项时, 如果你没有一个名为 file.txt 的文件,它会创建一个并把输出写进去。如果文件存在,它会覆盖文件原来的内容。

    你可以使用 -a 选项将输出追加到文件后面,而不是覆盖它的内容。

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

    -f 选项允许用户根据自己的喜好控制输出格式。 比如说,以下命令的输出仅显示用户,系统和总时间。

    $ /usr/bin/time -f "\t%E real,\t%U user,\t%S sys" ls
    dir1 dir2 file1 file2 mcelog
    0:00.00 real, 0.00 user, 0.00 sys

    请注意 shell 中内建的 time 命令并不具有 GNU time 程序的所有功能。

    有关 GNU time 程序的详细说明可以使用 man 命令来查看。

    $ man time

    想要了解有关 Bash 内建 time 关键字的更多信息,请运行:

    $ help time

    总结

    以上所述是小编给大家介绍的在 Linux 中查找一个命令或进程的执行时间,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对IIS7站长之家网站的支持!