linux查看进程启动时间(运行多长时间)
标签: ps-eolstartetime |
ps -eo lstart 启动时间
ps -eo etime
ps -eo pid,lstart,etime | grep 5176
用linux ps查询进程的开始时间 ps命令常用用法(方便查看系统进程) 1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。 2)ps -A 显示所有进程。 3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 4)ps -e 此参数的效果和指定"A"参数相同。 5)ps e 列出程序时,显示每个程序所使用的环境变量。 6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。 7)ps -H 显示树状结构,表示程序间的相互关系。 8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 9)ps s 采用程序信号的格式显示程序状况。 www.2cto.com 10)ps S 列出程序时,包括已中断的子程序资料。 11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。 12)ps u 以用户为主的格式来显示程序状况。 13)ps x 显示所有程序,不以终端机来区分。 最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。 常用参数: -A 显示所有进程(等价于-e)(utility) -a 显示一个终端的所有进程,除了会话引线 -N 忽略选择。 -d 显示所有进程,但省略所有的会话引线(utility) -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility) -p pid 进程使用cpu的时间 -u uid or username 选择有效的用户id或者是用户名 -g gid or groupname 显示组的所有进程。 U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility) -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on. -l 长格式(有F,wchan,C 等字段) -j 作业格式 www.2cto.com -o 用户自定义格式。 v 以虚拟存储器格式显示 s 以信号格式显示 -m 显示所有的线程 -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility) e 命令之后显示环境(如:ps -d e; ps -a e)(utility) h 不显示第一行 ps -eo lstart 启动时间 ps -eo etime 运行多长时间. ps -eo pid,lstart,etime|grep pid 例:ps -eo pid,lstart,etime|grep 4559你需要使用 ps 命令来查看关于一组正在运行的进程的信息。ps 命令提供了如下的两种格式化选项。
- etime 显示了自从该进程启动以来,经历过的时间,格式为
[[DD-]hh:]mm:ss
。 - etimes 显示了自该进程启动以来,经历过的时间,以秒的形式。
如何查看一个进程已经运行的时间?
你需要在 ps 命令之后添加 -o etimes 或者 -o etime 参数。它的语法如下:
ps -p {PID-HERE} -o etime
ps -p {PID-HERE} -o etimes
第一步:找到一个进程的 PID (openvpn 为例)
$ pidof openvpn
6176
第二步:openvpn 进程运行了多长时间?
$ ps -p 6176 -o etime
或者
$ ps -p 6176 -o etimes
隐藏输出头部:
$ ps -p 6176 -o etime=
$ ps -p 6176 -o etimes=
样例输出:
这个 6176 就是你想查看的进程的 PID。在这个例子中,我查看的是 openvpn 进程。你可以按照你的需求随意的更换 openvpn 进程名或者是 PID。在下面的例子中,我打印了 PID、执行命令、运行时间、用户 ID、和用户组 ID:
$ ps -p 6176 -o pid,cmd,etime,uid,gid
样例输出:
PID CMD ELAPSED UID GID
6176 /usr/sbin/openvpn --daemon 15:25 65534 65534