如果进程做昨天以前(包括昨天)创建的,那么使用ps -ef命令是STIME列显示的就是日期,而不是详细的时间。
网络上有一种方法:记录pid,到/proc找与其同名的文件夹,查看这个文件夹的是时间。这个方法很聪明,不过不幸的是通过stat查看这个文件夹,文件夹里的文件。所有的时间都是当前时间。:(
可行的方法是使用命令:
#ps -A -opid,stime,etime,args
结果:
PID STIME ELAPSED COMMAND
1 May13 14-14:33:08 init
2 May13 14-14:33:07 [migration/0]
3 May13 14-14:33:07 [migration/1]
4 May13 14-14:33:07 [migration/2]
5 May13 14-14:33:07 [migration/3]
6 May13 14-14:33:06 [keventd]
7 May13 14-14:33:06 [ksoftirqd/0]
8 May13 14-14:33:06 [ksoftirqd/1]
9 May13 14-14:33:06 [ksoftirqd/2]
10 May13 14-14:33:06 [ksoftirqd/3]
13 May13 14-14:33:06 [bdflush]
11 May13 14-14:33:06 [kswapd]
12 May13 14-14:33:06 [kscand]
14 May13 14-14:33:06 [kupdated]
……
其中ELAPSED(etime)就是运行时间,dd-hh24:mi:ss,拿当前时间减它。
如果写一个脚本时间就更好了。