在日常的Linux运维过程中,我们可能存在查看进程当前的运行时长的信息。在此可以使用如下命令查看:
1、不知道进程ID,按进程名过滤查询:
ps -eo pid,comm,lstart,etime |grep 进程名
如下示例,过滤名称为sshd的进程启动时长信息
[root@test1 ~]# ps -eo pid,comm,lstart,etime |grep sshd
5441 sshd Mon Mar 25 05:23:13 2024 301-22:31:48
129568 sshd Tue Jan 21 01:22:22 2025 01:32:39
129571 sshd Tue Jan 21 01:22:23 2025 01:32:38
2、知道具体的进程ID,按进程ID查询
ps -p 进程ID -o comm,lstart,etime
如下示例,查看systemd进程启动时长信息,这个时间其实也可以视为操作系统的启动时间。
[root@test1 ~]# ps -p 1 -o comm,lstart,etime
COMMAND STARTED ELAPSED
systemd Mon Mar 25 05:22:57 2024 301-22:32:59
关于PS使用参数的解释:
e
:选择所有进程。-o
:自定义输出格式。pid
:进程 ID。comm
:命令名(可执行文件名)。lstart
:长格式的启动时间(包括日期和时间)。- etime:进程已运行的时间,以
[DD-]HH:MM:SS
格式表示。