你有没有遇到过想知道一个进程在你的 Linux 机器上运行了多长时间的情况?
你不需要任何监控应用程序。在 Linux 和其他类 Unix 操作系统中,有一个名为 的命令
ps
,用于显示有关活动进程的信息。使用ps
命令,我们可以很容易地找出一个进程在 Linux 中运行了多长时间。
该
ps
命令具有不同的格式说明符(关键字),可用于控制输出格式。我们将使用以下两个关键字来查找活动进程的正常运行时间。
etime
- 自进程启动以来经过的时间,格式为[[DD-]hh:]mm:ss
.etimes
- 自进程启动以来经过的时间,以秒为单位。首先,你需要找出
PID
一个进程。以下命令显示PID
的java
过程。
$ pidof java
8299
正如你在上面的输出中看到,
8299
是PID
的dhcpcd
过程。现在,我们可以使用命令查看该进程运行了多长时间:
$ ps -p 8299 -o etime
ELAPSED
04:05:37
你还可以使用 etimes 关键字查看经过的时间(以秒为单位)。
$ ps -p 8299 -o etimes
ELAPSED
14749
不仅是单个进程,我们还可以显示所有进程的正常运行时间,如下所示。
$ ps -eo pid,comm,lstart,etime,time,args
image-20220111214133243
第一个命令以
[[DD-]hh:]mm:ss
格式显示所有 Linux 进程的正常运行时间,后者以秒为单位显示正常运行时间。这是第二个命令的示例输出。
正如你在上面的输出中看到的,我们有六列格式的所有进程的正常运行时间。
PID
- 进程 ID。COMMAND
(第二列)- 不带选项和/或参数的命令名称。STARTED
- 进程的绝对开始时间。ELAPSED
- 自进程启动以来经过的时间,格式为 [[dd-]hh:]mm:ss。TIME
- 累积 CPU 时间,[dd-]hh:mm:ss格式。COMMAND
(最后一列)- 命令名称及其提供的所有选项和参数。有关
ps
命令的更多详细信息,请查看手册页。
$ man ps