linuxsleep linux sleep命令怎么使用
大家好,今天来为大家分享linuxsleep的一些知识点,和linux sleep命令怎么使用的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
linux sleep命令怎么使用
sleep命令
常用工具命令 sleep命令暂停指定的时间。
语法
sleep(参数)
参数
时间:指定要暂停时间的长度。
时间长度,后面可接 s、m、h或 d,其中 s为秒,m为分钟,h为小时,d为日数。实例有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时。
#!/bin/bash
b='' for((i=0;$i<=100;i++)) do printf"Progress:[%-100s]%d%%\r"$b$i sleep 0.1 b=#$b done
Linux下的sleep函数 要用的话得包涵什么头文件啊
Linux下的sleep函数要用的话得需要#include<unistd.h>
sleep把进程的运行状态改为睡眠,将其从系统可执行队列去掉,这样系统就不会调度到该进程,不会分配CPU时间片,同时根据该进程的睡眠时间,将进程挂入相应的定时器队列中。
同时内核维持一个定时器队列,每一次时钟中断处理,都把当前到期的队列中的进程唤醒,加入到可运行进程队列中。同时对所有挂入定时器队列中的进程时间值减1。
参考代码:
#include<stdio.h>
#include<unistd.h>
intmain()
{
int sec=0,
usec=0;
while(1)
{
printf("sec=%d\n",++sec);
sleep(1);
printf("usec=%d\n",++usec);
usleep(1000000);
}
return0;
}
扩展资料:
在Linux下,sleep中的“s”不大写
sleep()单位为秒,usleep()里面的单位是微秒。在内核中,sleep的实现是由pause函数和alarm函数两个实现的。
特别注意在Codeblocks环境下是无法使用sleep函数的,因为在windows上Codeblocks采用mingw(Gnu在Window环境下的编译器,可以充分使用WindowsApi)作为编译器,而在stdlib.h中sleep的说明如下:_CRTIMP void __cdecl __MINGW_NOTHROW _sleep(unsigned long) __MINGW_ATTRIB_DEPRECATED;可以认为mingw舍弃了sleep函数,建议用Sleep实现sleep。
参考资料来源:百度百科-Sleep函数
Linux系统sleep命令使用方法说明
sleep,即睡眠的意思,在Linux系统中,sleep命令主要用来延迟shell脚本的时间,也可使用于Windows系统中,下面小编针对sleep命令在Linux系统中的用法做个详细介绍,并为大家区别下Linux sleep和Windows sleep命令的用法。
linux sleep命令用来睡眠一段时间,sleep可以用来将目前动作延迟一段时间。时间的单位有:秒(s),分钟(m),小时(h),天(d)
用法如下:
sleep Number(suffix)
默认单位是秒(s)
sleep 1== sleep 1s
sleep 0.01
查看版本
linux sleep与 windows sleep的区别
在linux里,sleep的单位是秒,也就是sleep 1000就是睡眠了1000秒,而在windows中,如果调用sleep函数单位是毫秒,sleep(1000)则是睡眠了1秒。
上面就是Linux使用sleep命令的方法介绍了,从本文的介绍中可以看出,sleep在Linux和Windows系统的区别主要表现在单位上,但用法并无太大差别。
在linux下,想用sleep函数实现延时五秒,应该怎么设参数
使用权限:所有使用者
使用方式: sleep [--help] [--version] number[smhd]
说明: sleep可以用来将目前动作延迟一段时间
参数说明:
--help:显示辅助讯息
--version:显示版本编号
number:时间长度,后面可接 s、m、h或 d
其中 s为秒,m为分钟,h为小时,d为日数
例子:
显示目前时间后延迟 1分钟,之后再次显示时间:
date;sleep 1m;date
这个命令更多应用于shell脚本编程里和程序里
如下面的一段程序:
应用程序:
复制代码
代码如下:
#include<syswait.h>
usleep(n)//n微秒
Sleep(n)//n毫秒
sleep(n)//n秒
驱动程序:
#include<linux/delay.h>
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);
关于linuxsleep和linux sleep命令怎么使用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。