我正在尝试测量我的Tomcat服务器关闭时间间隔并将其写入日志。我正在尝试使用以下Python代码:
log_times.append(datetime.now().strftime(TIME_PATTERN)) # logs start time
subprocess.check_call(['service', 'tomcat7', 'stop'])
pid = subprocess.Popen(['pgrep', '-utomcat7'], stdout=subprocess.PIPE).communicate()[0]
while (pid != ''):
log.info('pgrep found tomcat process: %s', pid)
pid = subprocess.Popen(['pgrep', '-utomcat7'], stdout=subprocess.PIPE).communicate()[0]
log_times.append(datetime.now().strftime(TIME_PATTERN)) # logs tomcat shutdown time
有更好的\准确的方法吗?
答案 0 :(得分:0)
您可以尝试使用bash脚本。例如stop_tomcat.sh:
START=$(date +%s.%N)
service tomcat7 stop
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
echo $DIFF
更改权限:
chmod 755
从python中调用它并将其带到stdout:
time = subprocess.Popen(['./stop_tomcat.sh'], stdout=subprocess.PIPE).communicate()[0]
有关使用bash https://unix.stackexchange.com/a/12069测量时间的更多详细信息。