Linux - 如何查看某个进程何时启动?

Linux - 如何查看某个进程何时启动?

假设我知道进程号 (pid),如何查看进程何时启动?(在 Linux 上)

答案1

如果您只想要开始时间,您可以选择该字段并通​​过执行以下操作来抑制标题:

 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

答案2

awk '{print $22}' /proc/$pid/stat- 提供启动后以 jiffies 为单位的启动时间

答案3

“ps -f” - 它在手册页中

答案4

根据 Dennis Williamson 的出色回答,该ps命令还提供了-O选项,根据手册页:是“类似于 -o,但预装了一些默认列。”如果您不知道 PID 本身,这允许您 grep 与 PID 关联的命令(程序)。

示例:查找apt-getDebian/Ubuntu 上挂起的进程何时启动:

ps -A -O lstart= | grep apt-get | grep -v grep

管道过滤grep -v grep掉包含字符串“grep”的行,从而删除我们刚刚输入的命令(因为我们不想要它)。

在我现在的系统上,这给出:

1461407  Apr 15 06:00:00 2021 S ?        00:05:09 apt-get autoremove -y

相关内容