sleep

Shell脚本中让进程休眠的方法(sleep用法)

     这篇文章主要介绍了Shell脚本中让进程休眠的方法,本文讲解的就是sleep的用法,可以实现睡觉若干秒、若干分钟、若干小时,需要的朋友可以参考下

     有时候写Shell的脚本,用于顺序执行一系列的程序。 有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉。

这么如果 shell 还没等其退出就接着执行下一行,这么就出乱子了。 刚知道了原来 shell 也能有 sleep 的参数。

sleep 1 睡眠1秒
sleep 1s 睡眠1秒
sleep 1m 睡眠1分
sleep 1h 睡眠1小时

 用法如下,例如重启tomcat:

#!/bin/sh
 /opt/tomcat/bin/shutdown.sh
 sleep 3  #等3秒后执行下一条
/opt/tomcat/bin/startup.sh

注意:

在VC中Sleep中的第一个英文字符为大写的"S"

在标准C中是sleep,不要大写..下面使用大写的来说明,,具体用什么看你用什么编译器.简单的说VC用Sleep,别的一律使用sleep.

Sleep函数的一般形式:

Sleep(unsignedlong);

其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);

在Linux下,sleep中的“s”不大写

sleep()里面的单位是秒,而不是毫秒。在内核中,sleep的实现是由pause函数和alarm函数两个实现的。

特别注意在Codeblocks环境下是无法使用sleep函数的,因为在windows上Codeblocks采用mingw(Gnu在Window环境下的编译器,可以充分使用WindowsApi)作为编译器,而在stdlib.h中sleep的说明如下:_CRTIMPvoid__cdecl__MINGW_NOTHROW_sleep(unsignedlong)__MINGW_ATTRIB_DEPRECATED;可以认为mingw舍弃了sleep函数,建议用Sleep实现sleep。[1]

举例

#include
#include
intmain()

{

inta;

a=1000;

printf("你");

sleep(a);/*VC使用Sleep*/

printf("好");/*输出“你”和“好”之间会间隔一千秒,不是一秒,sleep()的单位为秒*/

return0;

}
原文地址:https://www.cnblogs.com/chenduzizhong/p/6045771.html