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

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:

主站蜘蛛池模板: 哈巴河县| 行唐县| 桓台县| 盐津县| 永仁县| 青州市| 嘉义市| 铅山县| 铁岭市| 甘谷县| 高碑店市| 普洱| 长乐市| 秦安县| 邯郸县| 黄石市| 江口县| 应用必备| 诸城市| 西安市| 武安市| 旌德县| 西宁市| 三门县| 琼海市| 六枝特区| 万州区| 三都| 巩留县| 金湖县| 无极县| 瑞丽市| 莱阳市| 包头市| 栾城县| 龙里县| 莱州市| 永泰县| 河东区| 吐鲁番市| 江达县|