来自:http ://www.utdallas.edu/~kcooper/teaching/5375/fall08/Tutorial8/tutorial8.htm
(“C 程序中 bash sleep 和 sleep 的区别”一节):
bash sleep 命令和 C 程序的 sleep 函数的工作方式有很大的不同。C 程序的 sleep 函数是一个简单的函数调用。调用时,它会将 CPU 交给操作系统,以便它可以调度其他需要 CPU 的进程。然后在指定的秒数之后,调用睡眠的进程再次开始工作。
sleep 命令 bash 的工作方式不同。调用此命令时,它会创建自己的子进程。它运行指定的秒数,然后退出到调用进程。
- 为什么 bash 睡眠这么复杂?(为什么bash sleep是通过fork实现的?)
- 为什么 bash sleep 不能像 C sleep 一样?