小知识:linux sleep命令参数及用法详解(linux休眠延迟执行命令)

使用权限 : 所有使用者  使用方式 : sleep [–help] [–version] number[smhd]  说明 : sleep 可以用来将目前动作延迟一段时间  参数说明 :  –help : 显示辅助讯息  –version : 显示版本编号  number : 时间长度,后面可接 s、m、h 或 d  其中 s 为秒,m 为 分钟,h 为小时,d 为日数  例子 :  显示目前时间后延迟 1 分钟,之后再次显示时间 :  date;sleep 1m;date  这个命令更多应用于shell脚本编程里和程序里  如下面的一段程序:  应用程序: 

复制代码

代码如下:

#include

usleep(n) //n微秒 

Sleep(n)//n毫秒 

sleep(n)//n秒 

驱动程序: 

#include

mdelay(n) //milliseconds 其实现 

#ifdef notdef 

#define mdelay(n) (\ 

{unsigned long msec=(n); while (msec–) udelay(1000);}) 

#else 

#define mdelay(n) (\ 

(__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000) : \ 

({unsigned long msec=(n); while (msec–) udelay(1000);})) 

#endif 

调用asm/delay.h的udelay,udelay应该是纳秒级的延时 

Dos: 

sleep(1); //停留1秒 

delay(100); //停留100毫秒 

Windows: 

Sleep(100); //停留100毫秒 

Linux: 

sleep(1); //停留1秒 

usleep(1000); //停留1毫秒 

每一个平台不太一样,最好自己定义一套跨平台的宏进行控制  秒还是微秒?关于延时函数sleep()  因为要写一段代码,需要用到sleep()函数,在我印象中,sleep(10)好像是休眠10微秒,结果却是休眠了10秒(在Linux下)。觉得很奇怪,因为头儿也记得好像是微秒为单位的。所以就查了一下。  原来linux下的sleep函数原型为:  unsigned int sleep(unsigned int seconds);  而MFC中的Sleep函数原型为:  void Sleep(DWORD dwMilliseconds);  也就是说,Linux下(使用的gcc的库),sleep()函数是以秒为单位的,sleep(1);就是休眠1秒。而MFC下的sleep()函数是以微秒为单位的,sleep(1000);才是休眠1秒。原来如此啊。而如果在Linux下也用微妙为单位休眠,可以使用线程休眠函数:void usleep(unsigned long usec);当然,使用的时候别忘记#include <system.h>哦。  另外值得一提的是,linux下还有个delay()函数,原型为extern void delay(unsigned int msec);它可以延时msec*4毫秒,也就是如果想延时一秒钟的话,可以这么用 delay(250);

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:linux groupdel命令参数及用法详解(linux删除用户组命令)

2023-5-22 8:18:06

建站知识

小知识:linux finger命令参数及用法详解(linux查看用户个人信息)

2023-5-22 8:34:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索