Linux系统下查看某个进程启动时间和运行时间的命令
首先可以查看某个进程的PID,以查看tomcat的进程为例
[root@localhost ~]# ps aux|grep tomcat tomcat 7320 0.0 12.4 3162200 475492 ? Sl Dec06 15:03 /usr/java/default/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:///dev/urandom -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Xms512M -Xmx512M -server -XX:+UseParallelGC -Dignore.endorsed.dirs= -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start root 923791 0.0 0.0 12112 1092 pts/0 S+ 09:11 0:00 grep --color=auto tomcat
使用ps aux|grep tomcat 可以看到进程PID是7320
ps -o lstart -p PID #根据PID来查询 ps -o lstart,etime -p PID #根据PID来查询,打印出启动时间和已经运行的时间 ps -eO lstart | grep PROCESS #也可以直接根据进程名称来查
参数说明:
1, 大写的O表示preloaded,小写的o表示user-defined,e表示all processes
2, 如果查出来的时间是1-16:15:58, 则表示该运程运行了1天16小时15分钟
3, etime表示elapsed time, 即程序已经运行的时间
以下几个例子
$ ps -o lstart,etime -p 13062 #根据PID打印出启动时间和持续时间 STARTED ELAPSED Thu Sep 21 09:41:40 2018 1-01:50:35 $ ps -eo pid,lstart,cmd #打印出所有进程(-e)的PID,启动时间 3428 Mon Nov 6 20:55:20 2018 /sbin/udevd -d 3495 Mon Nov 6 20:55:22 2018 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5 3508 Mon Nov 6 20:55:22 2018 /usr/sbin/nscd 3532 Mon Nov 6 20:55:29 2018 /usr/sbin/snmpd -LS 2 d -Lf /dev/null -p /var/run/snmpd.pid -a 3548 Mon Nov 6 20:55:29 2018 /usr/sbin/sshd 3557 Mon Nov 6 20:55:29 2018 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g 3568 Mon Nov 6 20:55:29 2018 crond #依次打印出某进程的pid,uid,user,启动时间,持续时间,占用CPU时间(cputime),以及cmd $ ps -eo pid,euid,euser,lstart,etime,cputime,cmd | grep searcher_server 7259 7259 Fri Sep 22 11:36:21 2018 00:01 S pts/0 00:00:00 grep 13062 13062 13062 Thu Sep 21 09:41:40 2018 1-01:54:42 S ? 1-15:50:04 /export/App/jd_search/searcher/server/bin/searcher_server
文章评论