Linux-如何查看进程何时开始?


23

假设我知道pid,如何查看进程何时开始。(在Linux上)

Answers:


30

如果只需要开始时间,则可以选择该字段并通​​过执行以下操作取消显示标题:

 ps -p YOURPID -o lstart=

输出将如下所示:

 Mon Dec 14 17:17:16 2009

这是ctime(3)格式,您可以解析它以分解出相关部分。

其他开始字段(例如,和)设置时间(例如start,在24小时之后仅显示日期)。stimebsdstartstart_time

但是,您可以将它们直接用于最近启动的进程,而无需进一步分析:

ps -p YOURPID -o stime=

这将输出类似:

09:26

这也适用于Mac!
布拉德·帕克斯


8

awk '{print $22}' /proc/$pid/stat -在启动后给您起跳的开始时间


答案很晦涩!
wzzrd

给我困惑。正常运行时间为“ 17:57”的系统的流程开始时间为“ 727975”。看起来这个过程从现在开始8天了?
Scott Pack

1
实际上是在急躁中(100 / sec)
MarkR

1
太晦涩了!此外,现在您必须查找启动时间,并进行数学运算以将抖动转换为秒,并计算偏移量以获得时钟时间。简单,但是步骤太多。请参阅Chopper3的答案。
暂停,直到另行通知。

每秒的抖动量存储在系统变量HZ中。它通常是100。要在shell中进行计算,您可以使用以下代码:stackoverflow.com/a/44524937/1950345
reichhart

0

如果openvpn主机上有一个具有给定名称(例如)的进程,则可以执行以下操作:

ps -p `pgrep openvpn` -o lstart=

-1

ps -f | grep的一种方法,就像您说的pid一样,也可以在顶部进行明智的选择

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.