#include #include int main() { sleep(1); printf("sleep \n"); usleep(100); printf("usleep \n"); } 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15037/showart_124159.html
by weijiliang - Linux文档专区 - 2006-06-06 17:29:55 阅读(1294) 回复(0)
在 linux shell 脚本中经常需要做一些延时处理。所以经常要用到 sleep 或 usleep 函数。 下面来说一下 sleep 和 usleep 的区别: sleep : 默认以秒为单位。 usleep : 默认以毫秒为单位。 但需要注意的地方是: 虽然 usleep 以毫秒为单位,但它并不比 sleep 准确。不信大家可以去做个小实验,呵呵。 sleep 不但可以用秒为单位,还可以指定延迟的单位,例如: sleep 1s 表示延迟一秒 sleep 1m 表示延迟一分钟 sleep 1h 表示延迟一小...
bash的基本配置是由配置文件组成的./etc/profile称之为shell的全局配置文件。 另外一个文件在个人的目录下 个人目录/.bash-profile 还有个文件在个人的目录下/etc/bashrc 是第二个全局配置文件,保存的是(函数别名等)在个人目录下也有个配置文件~/.bashrc 环境变量: 变量名=变量值 例: LANG=en 是设置语言为英文 LANG=zh-CN.GB18030是设置语言为中文 ...
作者: lnoem 出自: http://www.linuxdiyf.com select(num, 0, 0, 0, struct timeval* timeout) timeout设置成多少就可以定时睡眠多少了。 但是 timeout大于1亿秒的话(3年多)select会返回一个EINVAL的错误。 还有虽然timeout 可以精确到 10的-6次方秒(微秒),但是linux一般都会舍入到10ms。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_585527.html
select(num, 0, 0, 0, struct timeval* timeout) timeout设置成多少就可以定时睡眠多少了,呵呵 但是 timeout大于1亿秒的话(3年多)select会返回一个EINVAL的错误 还有虽然timeout 可以精确到 10的-6次方秒(微秒), 但是linux一般都会舍入到10ms。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/62281/showart_575890.html
在程序中需要sleep一段时间,收到SIGERM时退出。 但我在linux下,sleep并不退出。怀疑是在sleep中设SA_RESTART标志。因为我在别的函数(如socket的accept函数)中也遇到类似问题,我自己写了signal函数,把sa_flags置成SA_INTERRUPT就好了。 我现在如何让sleep收到信号时退出?或者有什么替代的办法? 不会要自己实现sleep吧。我在多线程情况使用多个sleep函数,如果自己实现就太麻烦了。 谢谢