linux怎么知道进程启动了好久
linux怎么知道进程启动了好久详细介绍
在 Linux 系统中,查看进程已启动多久(运行时间)有多种方法,以下是常用的几种方式:
方法一:使用 ps 命令(快速查看指定进程)
ps 命令可以显示进程的详细信息,包括启动时间和运行时长。
命令格式
bash
PID lstart,etime
-p <PID>:指定要查询的进程 PID。-o lstart,etime:指定显示字段:lstart:进程的启动时间(完整日期和时间)。etime:进程已运行的时长(格式为DD- HH:MM:SS,即天 - 小时:分钟:秒)。
示例
bash
lstart,etime
方法二:使用 top 或 htop 命令(动态监控)
top 和 htop 是动态监控进程的工具,可以显示进程的运行时间。
top 命令
- 打开终端,输入
top进入监控界面。 - 按
f键进入字段选择模式。 - 找到并选中以下字段(按对应字母键):
L:LSTART(启动时间,完整日期)。S:TIME+(累计 CPU 时间,注意:这是 CPU 占用时间,非实际运行时长)。l:ELAPSED(部分版本支持,直接显示运行时长)。
- 按
ESC返回主界面,找到目标进程查看对应字段。
htop 命令(更直观)
如果已安装 htop(需手动安装),直接输入 htop,进程列表中会显示 TIME 列(累计 CPU 时间)或通过设置显示运行时长。
方法三:使用 pidstat 命令(需安装 sysstat 工具包)
pidstat 属于 sysstat 工具,可显示进程的详细统计信息,包括运行时间。
安装 sysstat
bash
sysstat
yum sysstat
查看进程运行时间
bash
pidstat PID
-p <PID>:指定进程 PID。-t:显示线程信息(此处用于显示进程启动时间)。1 1:每隔 1 秒采样 1 次(仅执行一次)。
输出示例
bash
09:30:00 AM PID TGID TID STAT CPU % CPU Time Command09:30:00 AM - - S :15.30 my_process
Time字段:显示进程已运行的时间(格式为小时:分钟.秒)。
方法四:通过 /proc 文件系统(适用于脚本)
每个进程在 /proc/<PID> 目录下存储了运行信息,可通过 stat 文件获取启动时间(需计算)。
命令示例
bash
/proc/$PID/stat
$stat
/proc/uptime
uptime_seconds start_time sysconf_SC_CLK_TCK
" run_time" run_time" run_time"
sysconf(_SC_CLK_TCK)为系统时钟滴答数(通常为 100),可通过getconf CLK_TCK查看。
关键区别:运行时间 vs. CPU 时间
- 运行时间(Elapsed Time):进程从启动到当前的持续时间(无论是否占用 CPU)。
- CPU 时间(TIME+):进程累计占用 CPU 的时间(可能小于运行时间,如进程处于休眠状态)。
以上方法中,etime 和 ELAPSED 字段表示运行时间,TIME+ 表示 CPU 时间,需根据需求选择。