如何在bash中得到或记录一个进程的开始和结束时间
发表于 : 2009-04-08 9:10
本人要统计一些数据,想在bash中开启大量进程进行测试,但有个问题是如何将每个进程的具体时间记录下来? 这个时间应该要比S还要精确才行吧
http://linux.chinaunix.net/bbs/viewthre ... id=1056687xxdaystar 写了:gettimeofday(); 可以解决
就是另一个问题不知怎么办,如何才知道进程的被调入时间,这个时间应该和被执行第一句的时间不是一个。
关键是如何将他自动化记录下来,如果一大堆的进程同时运行的话,PID号恐怕是未知的。xhy 写了:http://linux.chinaunix.net/bbs/viewthre ... id=1056687xxdaystar 写了:gettimeofday(); 可以解决
就是另一个问题不知怎么办,如何才知道进程的被调入时间,这个时间应该和被执行第一句的时间不是一个。
xxdaystar 写了:关键是如何将他自动化记录下来,如果一大堆的进程同时运行的话,PID号恐怕是未知的。xhy 写了:http://linux.chinaunix.net/bbs/viewthre ... id=1056687xxdaystar 写了:gettimeofday(); 可以解决
就是另一个问题不知怎么办,如何才知道进程的被调入时间,这个时间应该和被执行第一句的时间不是一个。
比如
#!/bin/bash
myproc1 &;
myproc2 &;
myproc3 &;
myproc4 &;
....
如果采用下面方法倒是可以作一个大致估计
#!/bin/bash
echo someting; date +%s.%N
myproc1 &;
echo someting; date +%s.%N
myproc2 &;
echo someting; date +%s.%N
myproc3 &;
echo someting; date +%s.%N
myproc4 &;
....
xhy 写了:xxdaystar 写了:关键是如何将他自动化记录下来,如果一大堆的进程同时运行的话,PID号恐怕是未知的。xhy 写了:http://linux.chinaunix.net/bbs/viewthre ... id=1056687xxdaystar 写了:gettimeofday(); 可以解决
就是另一个问题不知怎么办,如何才知道进程的被调入时间,这个时间应该和被执行第一句的时间不是一个。
比如
#!/bin/bash
myproc1 &;
myproc2 &;
myproc3 &;
myproc4 &;
....
如果采用下面方法倒是可以作一个大致估计
#!/bin/bash
echo someting; date +%s.%N
myproc1 &;
echo someting; date +%s.%N
myproc2 &;
echo someting; date +%s.%N
myproc3 &;
echo someting; date +%s.%N
myproc4 &;
....
如果你要保证每一个进程都不漏网,只有两个办法
1 所有的进程都由你创建,你可以自行写log
2 hook掉fork系统调用,和exit系统调用,你就可以知道每个进程的生存时间区间
谢谢你的回答。xhy 写了:xhy 写了:xxdaystar 写了:关键是如何将他自动化记录下来,如果一大堆的进程同时运行的话,PID号恐怕是未知的。xhy 写了:http://linux.chinaunix.net/bbs/viewthre ... id=1056687xxdaystar 写了:gettimeofday(); 可以解决
就是另一个问题不知怎么办,如何才知道进程的被调入时间,这个时间应该和被执行第一句的时间不是一个。
比如
#!/bin/bash
myproc1 &;
myproc2 &;
myproc3 &;
myproc4 &;
....
如果采用下面方法倒是可以作一个大致估计
#!/bin/bash
echo someting; date +%s.%N
myproc1 &;
echo someting; date +%s.%N
myproc2 &;
echo someting; date +%s.%N
myproc3 &;
echo someting; date +%s.%N
myproc4 &;
....
如果你要保证每一个进程都不漏网,只有两个办法
1 所有的进程都由你创建,你可以自行写log
2 hook掉fork系统调用,和exit系统调用,你就可以知道每个进程的生存时间区间
pid也不可能是未知的,/proc下面有所有进程的pid