sleep 命令,让睡眠变得有学问。本文将对 sleep 命令进行详细地介绍,一起来看看 sleep 命令如何让睡眠变得有学问。

先让程序睡上 30 秒从字面意思看,想必你已经猜出来 sleep 命令的作用啦。简单地说,sleep 就是让程序稍稍休息一下,然后,再继续工作(休息是为了更好地工作……)。

我们让 Shell 程序小憩 30 秒:#睡眠30秒[roc@roclinux ~]$ sleep 30s #让date命令来监督, 看看是不是真的睡了30秒[roc@roclinux ~]$ date;sleep 30s; dateThu Feb 25 08:25:17 CST 2016Thu Feb 25 08:25:47 CST 2016

睡眠时间个性化sleep 命令虽然简单,但我们可以对它进行个性化定制,让它变得更好玩一些。

一般来说,sleep 命令后面跟的数值是用来表示时间的,是时间就要有单位,如果我们不指定单位的话,它默认的单位是什么呢?[roc@roclinux ~]$ date; sleep 1; dateThu Feb 25 09:55:47 CST 2016Thu Feb 25 09:55:48 CST 2016从这个示例来看,默认的单位就是秒啦,和指定单位 s 有同等的效果。

有秒的话,还应该有分钟和小时才对,那这些单位在 sleep 中如何表示呢?s:表示秒m:表示分钟h:表示小时d:表示天

比如,如果想让 Shell 程序睡眠 1 分钟,应该如何操作呢?[roc@roclinux ~]$ date; sleep 1m; dateThu Feb 25 10:00:43 CST 2016Thu Feb 25 10:01:43 CST 2016

那如果想让 shell 程序睡眠 1 小时的话,直接把单位换成 h 就可以了。如果我们想让 shell 程序睡眠 1 分 40 秒,又该怎么操作呢?1 分=60 秒,1 分 40 秒=100 秒,可以直接让计算机睡眠 100 秒。[roc@roclinux ~]$ date; sleep 100; dateThu Feb 25 10:12:28 CST 2016Thu Feb 25 10:14:08 CST 2016

其实呢,sleep 比你想象得还要体贴,你可以直接这样输入:#注意: 分钟和秒之间一定要有空格哦[roc@roclinux ~]$ date; sleep 1m 40s; dateThu Feb 25 10:17:04 CST 2016Thu Feb 25 10:18:44 CST 2016这种方法简单、直接,节省了我们不少的思考时间。

在 sleep 中最大的单位是 d(天),如果想表示更长的时间,比如周、月、年的话,那么你只能把它们转换成天来表示了。# 这样, Shell程序乖乖地沉睡 "一周2小时5分4秒"[roc@roclinux ~]$ date; sleep 7d 2h 5m 4s; dateThu Feb 25 10:17:04 CST 2016Thu Feb 25 10:18:44 CST 2016

毫秒级睡眠时间可不可以sleep 命令的默认时间单位是秒,但对于高速运行的程序来说,“秒”还是显得太长了。那 sleep 能不能实现毫秒级的睡眠呢?答案是可以的,例如,我们让 Shell 程序睡眠 3 毫秒:[roc@roclinux ~]$ time sleep 0.003 real 0m0.004suser 0m0.000ssys 0m0.001s

time 可以通过浮点数的方式实现毫秒级的睡眠,但这里有一点需要注意,即睡眠时间的精度。sleep 命令只能保证 10ms 级别的精度控制,对于小于 10ms 的睡眠时间是存在误差的。实际应用中,如果你对时间精度要求特别高的话,sleep 或许不是一个正确的选择,还是请考虑其他方法吧。

sleep 的过程中 CPU 是否被占用默认情况下,sleep 的进程是不占用 CPU 时间的,我们可以通过实验来说明这个问题:[roc@roclinux ~]$ \time sleep 10.00user 0.00system 0:01.00elapsed 0%CPU (0avgtext+0avgdata 2560maxresident)k0inputs+0outputs (0major+200minor)pagefaults 0swaps

看到了吗?0.00user、0.00system、0%CPU 这三个输出项都表明 sleep 是不会耗费 CPU 的计算资源的。

注意:上面使用了\time命令,它指代的是 /usr/bin/time,而不是 Shell 内置的 time 命令。/usr/bin/time 命令可以显示更多的信息,而 Shell 内置的命令做不到这一点。

linux 暂停一段时间,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间相关推荐

  1. linux睡眠流程,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间

    搜索热词 sleep 命令,让睡眠变得有学问.本文将对 sleep 命令进行详细地介绍,一起来看看 sleep 命令如何让睡眠变得有学问. 先让程序睡上 30 秒 从字面意思看,想必你已经猜出来 sl ...

  2. java linux常用命令_Linux常用命令

    一.注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]# ...

  3. checksum linux 命令_linux常用命令总结

    一.find命令 作用:查找文件 [root@server ~]# find / -name elasticsearch /var/log/elasticsearch /var/run/elastic ...

  4. linux 指令tftp传输文件_tftp命令_Linux tftp 命令用法详解:在本机和tftp服务器之间使用TFTP协议传输文件...

    tftp命令用在本机和tftp服务器之间使用TFTP协议传输文件. TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面:一是linux服 ...

  5. linux date命令_Linux date命令示例

    linux date命令 Unix/Linux date command is a command used for displaying the system's date and time. In ...

  6. linux常用命令_Linux常用命令总结

    点击上方"菜鸟名企梦",选择"置顶或者星标" 你关注的就是我关心的! 来源:Linux爱好者 ID:LinuxHub Linux常用命令 目录操作命令 ls 命 ...

  7. linux常用命令_Linux常用命令~~~

    Linux常用命令~~~ 1. 查看当前的Linux服务器的运行级别 'who -r' 和'runlevel'命令可以查看当前linux服务器运行级别 2. 查看Linux的默认网关 'route - ...

  8. linux bzip2压缩文件,bzip2命令_Linux bzip2命令:压缩和解压文件(.bz2文件)

    有时候你会发现并不是所有的 Linux 压缩包都是以 .tar.gz 为后缀的,有些压缩包的后缀是 .tar.bz2.这个 .tar.bz2 又是什么呢?它就是本文的主角:bzip2 压缩工具. 有了 ...

  9. linux 目录命令_Linux目录命令能力问题和解答

    linux 目录命令 This section contains Aptitude Questions and Answers on Linux Directory Commands. 本节包含有关L ...

最新文章

  1. 问题之JVM_Bind
  2. 列表元素的几种统计方法总结(嵌套列表)
  3. python日志模块备份_Python Logging模块 输出日志颜色、过期清理和日志滚动备份
  4. ASP.NET中的Cookie对象
  5. 24点游戏python编程代码和运行结果_编程实现24点游戏,我发现自己总是输是有原因的...
  6. python信号处理教程_PhysioNet生理信号处理(五)--WFDB for Python(DEMO)
  7. vscode的IntelliCode扩展报错
  8. 含有空格或者逗号的字符串反转最有效的办法——栈
  9. 安卓资源字串中加全角空格、半角空格、换行、@%等特殊字符
  10. VS中Release模式下生成去掉生成pdb文件
  11. gephi和python_介绍用Gephi进行数据可视化
  12. iPhone 14 系列维修价曝光,修不起!
  13. 如何与低智商的人相处?
  14. pytorch池化maxpool2D注意事项
  15. 2009上半年 系统集成项目管理工程师 下午试卷
  16. 2018年机器视觉产业技术现状、发展趋势分析及发展前景预测
  17. ArcGIS Server中的各种服务
  18. 春节灯笼Html代码实现+点击页面出现文字
  19. eNSP实验日记四(防火墙配置)
  20. 【ISP】浅析CCM

热门文章

  1. oracle按某个字段分组然后从每组取出最大的一条纪录
  2. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划
  3. 利用xml+xsl给客户机添加超级管理帐户!
  4. JS判断数字字母中文
  5. 怎样评价推荐系统的结果质量?
  6. 从“小而精”到“大而广”,知乎怎样一步步迈向全民皆知?
  7. 【入门必读】产品经理如何培养自己的逻辑思维方式
  8. 【娱说】会玩游戏的人才能更快的在未来商业中“打怪升级”
  9. 【干货】产品经理处理工作中突发事件的新技能Get!
  10. Google工程师:如何看待程序员普遍缺乏数据结构和算法知识?