发件人:http://www.utdallas.edu/~kcooper/teaching/5375/fall08/Tutorial8/tutorial8.htm
(“bash sleep和sleep in C程序之间的区别”):
bash sleep命令和C程序的sleep函数的工作方式有很大的不同。C程序的sleep函数是一个简单的函数调用。当被调用时,它把CPU交给操作系统,这样它就可以调度其他需要CPU的进程。然后在指定的秒数之后,调用sleep的进程再次开始工作。
sleep命令bash的工作方式不同。调用此命令时,它将创建自身的子进程。它运行指定数量的秒,然后退出调用进程。
为什么巴什睡得这么复杂?(为什么bash睡眠是通过分叉实现的?)
为什么bash sleep不能像C sleep那样?
最佳答案
为什么巴什睡得这么复杂?(为什么bash睡眠是通过分叉实现的?
因为bash就是这样做的,所以它运行程序(unix上的程序是通过fork()/exec()完成的),所以碰巧有人编写了一个程序,/bin/sleep
它只是在指定的时间内休眠。
为什么bash sleep不能像C sleep那样?
如果有人将sleep实现为bash的内置命令/函数,但还没有人实现,而且很可能这一好处并不值得。
关于c - bash sleep 与C程序中 sleep 之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11595812/