在 Linux 中,有多种方法可以查看进程的启动时间。以下是几种常用的方法:
ps
命令ps
命令是查看系统进程信息的常用工具。你可以结合不同的选项来获取进程的启动时间。
查看特定用户的进程启动时间:
ps -u 用户名 --no-headers -o lstart,cmd
这将显示该用户所有进程的启动时间和命令。
查看特定 PID 的进程详细信息:
ps -p PID --no-headers -o lstart,cmd
替换 PID
为你感兴趣的进程 ID。
使用 aux
选项查看所有进程的信息:
ps aux --forest
这将以树状结构显示所有进程及其启动时间。
top
或 htop
top 命令:
运行 top
后,按 Shift + E
可以根据启动时间对进程进行排序。
htop 命令:
htop
是 top
的增强版本,界面更友好。启动 htop
后,默认情况下进程会按照 CPU 使用率排序,你可以按 F6
键选择按照启动时间排序。
/proc
文件系统每个进程在 /proc
目录下都有一个以其 PID 命名的子目录,其中包含进程的详细信息。
查看特定进程的启动时间:
cat /proc/PID/stat
输出中第22个字段表示进程启动的时间戳(自系统启动以来的 jiffies 数)。你可以使用以下命令将其转换为可读的日期和时间:
ps -p PID -o lstart=
或者手动计算:
echo $(( ( $(cat /proc/PID/stat | awk '{print $22}') / 86400 )) ) days, $(($(cat /proc/PID/stat | awk '{print $22}') % 86400 )) hours, $(($(cat /proc/PID/stat | awk '{print $22}') % 3600)) minutes, $(($(cat /proc/PID/stat | awk '{print $22}') % 60)) seconds
systemd
工具(适用于使用 systemd 的系统)如果你的系统使用 systemd
,可以使用以下命令查看服务的启动时间:
查看特定服务的状态和启动时间:
systemctl status 服务名
输出中会显示服务的启动时间和运行时长。
pstree
命令pstree
可以以树状图的形式显示进程之间的关系,结合 -p
选项可以显示 PID 和启动时间。
pstree -p | grep PID
替换 PID
为你感兴趣的进程 ID。
以上方法可以帮助你在 Linux 系统中查看进程的启动时间。根据你的具体需求选择合适的方法即可。