linux shell 中的sleep命令

linux shell 中的sleep命令,第1张

linux shell 中的sleep命令

在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小时)

sleep 1    睡眠1秒

sleep 1s    睡眠1秒

sleep 1m  睡眠1分

sleep 1h  睡眠1小时

使用权限 : 所有使用者 使用方式 : sleep [--help] [--version] number[smhd] 说明 : sleep 可以用来将目前动作延迟一段时间 参数说明 : --help : 显示辅助讯息 --version : 显示版本编号 number : 时间长度,后面可接 s、m、h 或 d 其中 s 为秒,m 为 分钟,h 为小时,d 为日数 例子 : 显示目前时间后延迟 1 分钟,之后再次显示时间 : datesleep 1mdate 这个命令更多应用于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)

本文基于 RockPI 4A 单板 Debian 系统 Linux4.4 内核介绍下睡眠唤醒( suspend/resume )的一些调试方法。

1、关闭串口睡眠

在Linux内核睡眠过程中,会先调用 suspend_console() 函数使串口进入睡眠状态,这样会导致后续设备驱动的睡眠过程不可见。可以在boot启动参数中增加 no_console_suspend 参数,显示设备驱动睡眠日志。

2、修改串口日志等级

修改串口日志打印等级,显示更多调试信息。

3、打开设备睡眠唤醒时间

设置 pm_print_times 参数,可以显示设备驱动睡眠唤醒时间,方便调试时查看哪个函数处理占用时间过长。

在调试Linux内核睡眠唤醒功能时,可以使用 RTC 做唤醒源,在系统睡眠5秒后,自动唤醒系统。

在 arch/arm64/configs/rockchip_linux_defconfig 文件中配置宏 CONFIG_PM_TEST_SUSPEND 。

唤醒日志如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8742386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存