如何检查进程完成后运行了多长时间?

Die*_*ego 15 process

目前我正在使用以下内容来检查进程实际运行的时间:

ps -eo uid,pid,etime | egrep '^ *MY_ID' | egrep 'PID_OF_PROCESS'
Run Code Online (Sandbox Code Playgroud)

并输出以下内容:

MY_ID PID_OF_PROCESS       00:16
Run Code Online (Sandbox Code Playgroud)

但是,在该过程结束后,我想知道它实际运行了多长时间,但似乎找不到该信息。

Pet*_*zel 15

我认为在该过程完成后不可能获得此类信息。

如果你事先知道你需要这些信息,你可以运行命令

time <command>
Run Code Online (Sandbox Code Playgroud)

例如

~> time sleep 1

real        0m1.003s
user        0m0.002s
sys         0m0.001s
Run Code Online (Sandbox Code Playgroud)


Gil*_*il' 7

检查您的 unix 变体是否支持进程记帐。例如,在 Ubuntu(和大多数其他 Linux 发行版)上,这是由Install acct http://bit.ly/software-smallacct 提供的。如果记帐子系统已启动并正在运行,则显示有关已完成进程的信息,包括它们使用了多少处理器时间(不记录挂钟时间)。lastcomm

如果您需要为特定程序计时,请通过time.

如果您需要更精确的信息,请使用更高级的审计包,例如Linux 下的审计子系统