官术网_书友最值得收藏!

state

A process right from the time it is spawned until it exits may exist in various states, referred to as process states--they define the process’s current state:

  • TASK_RUNNING (0): The task is either executing or contending for CPU in the scheduler run-queue.
  • TASK_INTERRUPTIBLE (1): The task is in an interruptible wait state; it remains in wait until an awaited condition becomes true, such as the availability of mutual exclusion locks, device ready for I/O, lapse of sleep time, or an exclusive wake-up call. While in this wait state, any signals generated for the process are delivered, causing it to wake up before the wait condition is met.
  • TASK_KILLABLE: This is similar to TASK_INTERRUPTIBLE, with the exception that interruptions can only occur on fatal signals, which makes it a better alternative to TASK_INTERRUPTIBLE.
  • TASK_UNINTERRUTPIBLE (2): The task is in uninterruptible wait state similar to TASK_INTERRUPTIBLE, except that generated signals to the sleeping process do not cause wake-up. When the event occurs for which it is waiting, the process transitions to TASK_RUNNING. This process state is rarely used.
  • TASK_ STOPPED (4): The task has received a STOP signal. It will be back to running on receiving the continue signal (SIGCONT).
  • TASK_TRACED (8): A process is said to be in traced state when it is being combed, probably by a debugger.
  • EXIT_ZOMBIE (32): The process is terminated, but its resources are not yet reclaimed.
  • EXIT_DEAD (16): The child is terminated and all the resources held by it freed, after the parent collects the exit status of the child using wait.

The following figure depicts process states:

主站蜘蛛池模板: 承德市| 商南县| 南岸区| 崇礼县| 崇礼县| 伊宁县| 伊通| 蒙自县| 日照市| 射阳县| 中牟县| 怀远县| 友谊县| 四平市| 石林| 甘洛县| 赞皇县| 娄底市| 三河市| 祁东县| 克什克腾旗| 奈曼旗| 方正县| 锦屏县| 邢台市| 桂平市| 东光县| 盘锦市| 玉林市| 定结县| 河津市| 崇仁县| 攀枝花市| 日喀则市| 漾濞| 秀山| 通道| 黄浦区| 云梦县| 济南市| 平果县|