linux脚本计时,shell计时
[root@localhost ~]# time ls anaconda-ks.cfg install.log install.log.syslog satools text
real 0m0.009s
user 0m0.002s
sys 0m0.007s
输出的信息分别显示了该命令所花费的real时间、user时间和sys时间。
real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。
user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。
sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间
Shell计时
在Linux的Shell下,我们经常也使用Shell内置的time命令和GNU版的time命令来测试程序运行的时间。
内置的time提供的参数选项比较少,而GNU的time则提供了丰富的参数选项,包括指定输出文件等功能。[grandiose@Bygone grandiose]$ /usr/bin/time --output=foo.txt foo
上句只有时间信息输出到了foo.txt文件中,如果想要包括foo执行的结果,就需要按下句这样使用:[grandiose@Bygone grandiose]$ /usr/bin/time --output=foo.txt --append foo >foo.txt
如果想要控制输出时间的格式,可以使用-f开关进行格式化:[grandiose@Bygone grandiose]$ /usr/bin/time
--output=foo.txt -f "\\t%E real,\\t%U user,\\t%S sys" foo
如果仍需要使用Shell内置的time命令,可以用下面一句将结果输出至文件:[grandiose@Bygone grandiose]$ (time foo) 2>foo.txt
这样写是因为内置命令time的输出是到标准错误的,文件描述符2表示标准错误stderr。如果还想要包括foo执行的结果,就要这样:[grandiose@Bygone grandiose]$ (time foo) >foo.txt 2>&1
其中2>&1的含义是2与1 相同,一起送入foo.txt中。
nohup命令可以保证进程在退出系统之后仍能运行,这是它的常规用法。我们也可以这样使用nohup:[grandiose@Bygone grandiose]$ nohup time foo
结果全部输出至nohup.out,也包括程序运行的时间信息。可以使用下面的语句将时间信息输出至文件foo.txt中。[grandiose@Bygone grandiose]$ tail -2 nohup.out > foo.txt
为了保证和POSIX一致,输出的时间格式为(nohup.out中的内容除外):real 0m0.007s
user 0m0.002s
sys 0m0.004s
我们可以使用linux下面一些过滤命令如awk、sed、grep、tr等过滤出我们想要得到的内容,例如想要得到real段对应的时间:[grandiose@Bygone grandiose]$ grep real foo.txt | cut -f2,或者
[grandiose@Bygone grandiose]$ sed -n '2p' foo.txt | cut -f2
在Shell下,输出的时间精度为毫秒级,如果需要微秒级的计时,那就应该在程序中进行处理。
linux脚本计时,shell计时相关推荐
- linux脚本编程(shell)浅介
linux脚本编程(shell)浅介 2006-01-10 11:45 27693人阅读 评论(18) 收藏 举报 脚本shelllinux编程bash语言 linux脚本(shell)编程 啊,昨天 ...
- linux脚本编程(shell)浅介 (转载)
linux脚本(shell)编程 啊,昨天上网看到一篇讲 linux/unix shell 的文章,想想自己最后写这东西也是一年前的事了,想想都快忘光了. 还是整理一下,做一次回顾,以后说不定还用得上 ...
- linux脚本 source,Shell 的source命令
http://www.xxlinux.com/linux/article/development/shell/2006-09-22/4499.html http://www.diybl.com/cou ...
- linux脚本大全,shell大全
命令解析器--例如bash 是一个程序,可以解析shell命令 shell基本语法 变量 环境变量 敲命令"env"可以取出所有环境变量 环境变量可以当全局变量来使用 set命令可 ...
- linux 脚本加密,Shell脚本的4种加密详细教程
这篇文章上次修改于 1159 天前,可能其部分内容已经发生变化,如有疑问可询问作者. 普及,shell脚本是什么? Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就 ...
- linux 脚本 符号,Shell脚本 入门 —— 符号篇
shell变量 shell变量不需要进行任何声明,直接定义即可,因为shell变量的值实际上都是字符串(对于没有定义的变量默认是一个空串).定义的时候shell变量由大写字母加下划线组成,并且定义的时 ...
- node linux脚本,用Shell脚本快速搭建Ubuntu下的Nodejs开发环境
nodejs的确是很火,以前倒腾过,但是从来没有认真记录下什么.在ubuntu下搭建它的开发环境尝尝鲜,有一个捷径,它能让系统自动帮你安装所需要的东西,我们生成一段shell脚本,让它来完成以下工作: ...
- linux脚本多线程,Shell多线程操作及线程数控制实例
前言 在业务开发过程中,经常会在后台写一些shell脚本处理数据,但估计很多人不知道shell脚本也可以支持多线程,而且非常简单.本篇文章主要就是介绍shell实现多进程以及进程数量控制. 需求 为了 ...
- linux 脚本 等待,shell tel脚本中执行等待实现
->下面是一个示例脚本,它将"脚本中心"的 URL 存储在一个名为 strURL 的变量中D:\廖嘉航\第三批\脚本之家\脚本之家\文章2\bytes2BSTR.htm比如: ...
最新文章
- React数据获取为什么一定要在componentDidMount里面调用?
- 淘宝API学习之道:淘宝API相关了解
- 一次完整的HTTP事务是怎样一个过程
- css span 右端对齐_CSS标准文档流
- ubuntu18.04server 真机无法自动获取IP解决方法
- 截至20161212中国公司在美上市名单
- 如何批量修改图片宽高尺寸
- 科大讯飞语音转写以及语音合成配置+遇到问题处理
- matlab 自激振荡,基于Simulink的非线性系统自激振荡的仿真
- 南京数海文化传媒有限公司官网上线 | LTD文化传媒行业案例分享
- 加强统筹布局和顶层设计,以技能、平台、应用为三大着力点推动人工智能突破发展...
- 渠道分销系统开发产品管理功能
- macOS 中 Cornerstone 的Clean操作和终端的svn cleanup命令无效了怎么办?
- 山水印|竹林野茶:秋冬之际,喝这些茶补水润肺
- Web jquery ajax,EL遍历 js刷新 jquery遍历json数组填充表格 等等随笔
- 剑指offer——数字在排序数组中出现的次数
- 企业为什么需要一套固定资产管理系统?
- 退出计算机二级培训的申请书,计算机协会退会的申请书
- html复选框全选怎么实现,js html css实现复选框全选与反选
- 校招慕课Java面试新手尊享课笔记——Java基础从数据类型到类
热门文章
- Linux系统 查看,激活,以及退出虚拟环境
- ESP8266Wi-Fi接入云平台
- aot慈善币跑路了_慈善币AOT崩盘,超过400万人上当受骗
- android全屏命令,微信全屏表情指令2020安卓版-2020微信满屏幕表情指令软件v7.0.19 清爽版-007游戏网...
- 导图解文 从梦想到财富(40)下一个创业风口,一定在这4者之中
- windows server 2008 R2实现磁盘阵列raid1与raid5,数据备份与恢复
- 发票信息批量提取到 excel 软件 5.1
- AI降噪是什么意思?AI降噪在音视频通讯场景的应用
- 服务器电源输出电压不稳定,开关电源输出电压不稳定怎么解决?
- android开发经验笔记总计