如何找出进程在Linux中运行了多长时间

时间:2020-03-21 11:43:40  来源:igfitidea点击:

在类似Unix的操作系统中,有一个称为ps的命令,该命令用于显示有关活动进程的信息。
使用ps命令,我们可以轻松地找出一个进程运行了多长时间。

找出进程在Linux中运行了多长时间

ps命令具有可用于控制输出格式的不同格式说明符(关键字)。
我们将使用以下两个关键字来查找活动进程的正常运行时间。

  • etime-自进程开始以来经过的时间,格式为[DD-] hh:** mm:ss。
  • etimes-自进程启动以来经过的时间,以秒为单位。

首先,我们需要找出进程的PID。
以下命令显示dhcpcd进程的PID。

$pidof dhcpcd
8299

如我们在上面的输出中看到的,8299是dhcpcd进程的PID。

现在,我们可以使用以下命令查找此进程已运行多长时间:

$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

或者,

$ps -eo pid,comm,lstart,etimes,time,args

第一个命令以[[DD-] hh:** mm:ss格式显示所有Linux进程的正常运行时间,后一个命令以秒为单位显示正常运行时间。
这是第二个命令的示例输出。

如我们在上面的输出中看到的,我们拥有六列格式的所有进程的正常运行时间。

其中

  • PID-进程ID。
  • COMMAND(第二列)-不带选项和/或者参数的命令名称。
  • 已开始-进程的绝对开始时间。
  • ELAPSED-自过程开始以来经过的时间,格式为[dd-] hh:** mm:ss。
  • TIME-累积CPU时间,格式为[[dd-] hh:mm:ss]。
  • COMMAND(最后一列)-命令名称及其所有提供的选项和参数。

有关ps命令的更多详细信息,请查看手册页。

$man ps