脚本获取进程运行时间精确到毫秒

时间: 2023-12-01 08:04:05 浏览: 39
要获取进程运行时间精确到毫秒,可以使用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`语句输出进程运行时间即可。

写一个shell脚本计算函数运行时间,精确到毫秒

下面是一个简单的shell脚本,可以计算函数运行时间,精确到毫秒: ```bash #!/bin/bash # 定义需要计时的函数 function my_function() { sleep 1 } # 记录开始时间 start_time=$(date +%s%N) # 调用函数 my_function # 记录结束时间 end_time=$(date +%s%N) # 计算函数运行时间,精确到毫秒 duration=$(expr $end_time - $start_time) duration=$(expr $duration / 1000000) echo "函数运行时间:$duration 毫秒" ``` 在这个脚本中,我们首先定义了需要计时的函数 `my_function()`,然后使用 `date +%s%N` 命令记录开始时间和结束时间,并计算两者之间的差值。最后,我们将差值除以 1000000,得到函数运行时间,精确到毫秒。

相关推荐

最新推荐

recommend-type

Oracle中查看正在运行的SQL进程脚本分享

主要介绍了Oracle中查看正在运行的SQL进程脚本分享,本文使用脚本实现了类似mysql show processlist命令的功能,需要的朋友可以参考下
recommend-type

IDEA中编写并运行shell脚本的实现

主要介绍了IDEA中编写并运行shell脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

Shell实现判断进程是否存在并重新启动脚本分享

主要介绍了Shell实现判断进程是否存在并重新启动脚本分享,本文给出了两个实现脚本,分简洁版和详细版,需要的朋友可以参考下
recommend-type

Python脚本后台运行的几种方式

主要介绍了Python脚本后台运行的几种方式,linux下后台运行、通过upstart方式实现、通过bash脚本实现、通过screen、tmux等方式实现,需要的朋友可以参考下
recommend-type

linux shell(.sh)脚本编写和运行入门

主要介绍了linux shell(.sh)脚本编写和运行入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

解答下列问题:S—>S;T|T;T—>a 构造任意项目集规范族,构造LR(0)分析表,并分析a;a

对于这个文法,我们可以构造以下项目集规范族: I0: S -> .S S -> .T T -> .a I1: S -> S. [$ T -> T. [$ I2: S -> T. I3: S -> S.;S S -> S.;T T -> T.;a 其中,点(.)表示已经被扫描过的符号,;$表示输入串的结束符号。 根据项目集规范族,我们可以构造出LR(0)分析表: 状态 | a | $ ---- | - | - I0 | s3| I1 | |acc I2 | | 其中s3表示移进到状态3,acc表示接受。在分析字符串a;a时,我们可以按照以下步骤进行
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。