脚本获取进程运行时间精确到毫秒
时间: 2023-12-01 17:04:05 浏览: 67
要获取进程运行时间精确到毫秒,可以使用Python的psutil库。具体实现代码如下:
```python
import psutil
import time
def get_process_runtime(process_name):
for process in psutil.process_iter():
if process.name() == process_name:
return time.time() - process.create_time()
return None
if __name__ == '__main__':
process_name = 'python.exe' # 进程名
runtime = get_process_runtime(process_name)
if runtime:
print('进程 %s 已运行 %.3f 秒' % (process_name, runtime))
else:
print('进程 %s 不存在' % process_name)
```
其中,psutil.process_iter()可以获取当前系统中所有正在运行的进程,process.name()可以获取进程名,process.create_time()可以获取进程创建时间,time.time()可以获取当前时间。计算进程运行时间只需用当前时间减去进程创建时间即可,最后用print语句输出进程运行时间即可。
相关问题
shell脚本获取进程运行时间精确到毫秒
要获取进程运行时间精确到毫秒,可以使用Linux内置命令`ps`和`date`结合。具体实现代码如下:
```shell
#!/bin/bash
# 获取进程名
process_name="python"
# 获取进程ID
pid=$(ps -ef | grep $process_name | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]; then
# 获取进程启动时间
start_time=$(ps -eo pid,lstart | grep $pid | awk '{print $2" "$3" "$4" "$5" "$6" "$7}')
# 转换为时间戳(单位:毫秒)
start_timestamp=$(date -d "$start_time" +%s%3N)
# 获取当前时间戳(单位:毫秒)
current_timestamp=$(date +%s%3N)
# 计算进程运行时间
runtime=$((current_timestamp - start_timestamp))
# 输出结果
echo "进程 $process_name 已运行 $runtime 毫秒"
else
echo "进程 $process_name 不存在"
fi
```
其中,`ps -ef`可以获取当前系统中所有正在运行的进程,`grep`和`awk`可以根据进程名获取进程ID,`ps -eo pid,lstart`可以获取进程启动时间,`date -d`可以将时间字符串转换为时间戳,`date +%s%3N`可以获取当前时间戳(单位:毫秒)。最后计算进程运行时间只需用当前时间戳减去进程启动时间戳即可,最后用`echo`语句输出进程运行时间即可。
阅读全文