进程在等待和进程正在睡眠之间有什么区别?

时间:2013-10-28 09:41:11

标签: unix

我的理解是等待过程是一个过程在恢复活动之前等待某个事件完成的情况。处于等待状态的程序或进程在等待状态期间处于非活动状态。

基本上在上面等待一些事件发生。

睡觉怎么样?

5 个答案:

答案 0 :(得分:1)

Sleep导致进程放弃剩余的时间片并在给定的持续时间内保持非可运行状态Vs Wait:暂停执行直到事件完成。

答案 1 :(得分:0)

正如你所说的那样一个过程 - 等待 on 一个事件。睡眠是一种时间驱动的等待。

答案 2 :(得分:0)

请在维基百科上查看:http://en.wikipedia.org/wiki/Process_state

准备好或等待,更多 CPU资源链接:

A "ready" or "waiting" process has been loaded into main memory and is awaiting execution on a CPU 

睡觉,另见In *nix, what causes "sleeping" in top command?,功能更强设计

它正在等待数据,与其他进程的交互,比如等待用户查询的Apache服务器,这是一个更正常的进程状态......

答案 3 :(得分:0)

“wait”:如果执行命令shell将等待(保持)并且在命令成功完成并切换到下一个命令之前不再执行任何命令。

“sleep”:如果你运行的命令是睡眠10,那么它花费10秒不输出任何东西。因此shell在睡眠过程中花费10秒钟进行内部等待。

答案 4 :(得分:0)

<强>睡眠: 发出此命令是为了暂停系统执行,并将其作为参数提及指定的时间限制。

例如

sleep 50

以上暂停在UNIX操作系统中执行shell 50秒指定。

<强>等待: wait导致等待参数中指定的进程或参数中指定的作业等待。如果未指定任何内容,则管道中的所有作业都将进入等待状态,即当前处于活动状态的所有当前子进程都处于等待状态。等待也返回返回状态。如果孩子在通话时已经退出(所谓的“僵尸”过程),则该功能立即返回。释放子项使用的任何系统资源。返回状态通常是管道进程中最后一个作业的退出状态,该进程处于等待状态。如果没有指定任何工作或流程,则返回状态为零。

UNIX操作系统中wait命令的一般语法是

wait n

其中n是可选的,表示流程或工作