Linux中查看进程的启动时间
在 Linux 中查看 进程的启动时间 有几种方法
方法一:ps 命令查看启动时间(适合一般用途)
1 | ps -p <PID> -o lstart |
1 | ps -p 12345 -o lstart |
输出示例:
STARTED
Mon Jun 24 13:42:11 2025
这个命令显示指定进程(PID 为 12345)的 启动时间(local time)。
方法二:ps 带格式字段查看
1 | ps -eo pid,lstart,etime,cmd | grep <your-process> |
lstart:进程启动时间(完整格式)etime:进程已经运行了多长时间(Elapsed Time)
示例输出:
12345 Mon Jun 24 13:42:11 2025 02-01:22:34 /usr/bin/python3 app.py
表示该进程启动于 2025-06-24 13:42:11,已运行 2 天 1 小时 22 分钟 34 秒。
方法三:stat 查看 /proc/<PID> 目录元数据(偏底层)
1 | ls -ld /proc/<PID> |
1 | ls -ld /proc/12345 |
输出示例:
dr-xr-xr-x 9 root root 0 Jun 24 13:42 /proc/12345
这个时间是该进程的 /proc 目录的创建时间,通常就是 进程的启动时间(不过可能在某些系统中不太准确,因文件系统行为差异)。
方法四:systemd 系系统可用 systemd-cgtop 或 systemctl status
如果该进程是由 systemd 启动的(如服务),可以这样查:
1 | systemctl status <service-name> |
输出中有:
Active: active (running) since Mon 2025-06-24 13:42:11 JST; 2 days ago
总结
| 方法 | 命令示例 | 说明 |
|---|---|---|
ps |
ps -p PID -o lstart |
最标准可靠 |
proc |
ls -ld /proc/PID |
低层方法,适用范围广 |
systemctl |
systemctl status nginx |
针对服务型进程 |