Linux 进程状态

往往,我们PS查看进程的时候,可以看到STAT一栏中,表示进程的状态;

[[email protected] ~]# ps axu

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.0  10368   148 ?        Ss    2014   0:02 init [3]

root         2  0.0  0.0      0     0 ?        S<    2014   0:00 [migration/0]

root         3  0.0  0.0      0     0 ?        SN    2014   0:00 [ksoftirqd/0]

root         4  0.0  0.0      0     0 ?        S<    2014   0:00 [watchdog/0]

root         5  0.0  0.0      0     0 ?        S<    2014   0:03 [events/0]

root         6  0.0  0.0      0     0 ?        S<    2014   0:00 [khelper]

root        11  0.0  0.0      0     0 ?        S<    2014   0:00 [kthread]

root        15  0.0  0.0      0     0 ?        S<    2014   0:01 [kblockd/0]

root        16  0.0  0.0      0     0 ?        S<    2014   0:00 [kacpid]

root        60  0.0  0.0      0     0 ?        S<    2014   0:00 [cqueue/0]

root      1262  0.0  0.1  10128   576 ?        Ss    2014   0:01 syslogd -m 0

root      1265  0.0  0.0   3824   288 ?        Ss    2014   0:00 klogd -x

nscd      1274  0.0  0.1 129572   952 ?        Ssl   2014   0:09 /usr/sbin/nscd

root      1294  0.0  0.1  62648   768 ?        Ss    2014   0:00 /usr/sbin/sshd

ntp       1307  0.0  1.0  19428  5120 ?        SLs   2014   0:02 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g

root      1331  0.0  0.2  74828  1152 ?        Ss    2014   0:00 crond

root      1336  0.0  0.0  31628    68 ?        Ssl   2014   0:00 /usr/sbin/gshelld

root      1345  0.0  0.1   3808   520 tty1     Ss+   2014   0:00 /sbin/mingetty tty1

root      1346  0.0  0.1   3808   520 tty2     Ss+   2014   0:00 /sbin/mingetty tty2

root      2903  0.0  1.8 286532  9352 ?        Sl    2014  15:56 /usr/local/aegis/alihids/AliHids

root      3480  0.0  0.3  77528  1944 ?        Ss   Jan05   0:00 SCREEN -S anders.zhangw

root      3481  0.0  0.3  66084  1592 pts/3    Ss+  Jan05   0:00 /bin/bash

root      3493  0.0  0.3  66184  1644 pts/4    Ss+  Jan05   0:00 /bin/bash

root      3505  0.0  0.3  66084  1584 pts/5    Ss+  Jan05   0:00 /bin/bash

root      7527  0.0  0.3  77208  1736 ?        Ss    2014   0:00 SCREEN -S anders.zhangw

root      7528  0.0  0.3  66084  1576 pts/1    Ss+   2014   0:00 /bin/bash

root      7540  0.0  0.3  66084  1572 pts/2    Ss+   2014   0:00 /bin/bash

root     12893  0.0  0.0      0     0 ?        S    Jan16   0:00 [pdflush]

root     12895  0.0  0.0      0     0 ?        S    Jan16   0:00 [pdflush]

root     15075  0.0  0.6  88080  3316 ?        Ss   16:50   0:00 sshd: [email protected]/0

root     15079  0.0  0.3  66088  1600 pts/0    Ss   16:50   0:00 -bash

root     15105  0.0  0.1  65608   988 pts/0    R+   16:54   0:00 ps axu

那么,进程的状态都表示些什么意思?

D    uninterruptible sleep (usually IO)

R    running or runnable (on run queue)

S    interruptible sleep (waiting for an event to complete)

T    stopped, either by a job control signal or because it is being traced

W    paging (not valid since the 2.6.xx kernel)

X    dead (should never be seen)

Z    defunct ("zombie") process, terminated but not reaped by its parent

For BSD formats and when the stat keyword is used, additional characters may be displayed:

<    high-priority (not nice to other users)

N    low-priority (nice to other users)

L    has pages locked into memory (for real-time and custom IO)

s    is a session leader

l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

+    is in the foreground process group

现在,我们可以详细讨论下Linux进程的状态变化。。。。突然有人叫吃饭,那就吃饭后继续额

时间: 2024-10-12 20:08:09

Linux 进程状态的相关文章

Linux 进程状态简述

大家都知道Linux是一个多用户,多任务的操作系统,可以同时运行多个程序,必然就会产生多个进程,而每个进程会有不同的状态. 下面是我对进程的个人理解,剖析的比较浅显,而且难免有错误,请指正 那这些状态都有哪些呢??? Linux进程状态:R (TASK_RUNNING),可执行状态&运行状态(在run_queue队列里的状态) Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态, 可处理signal Linux进程状态:D (TASK_UNINTERRUPTIBL

Linux进程状态解析之R、S、D、T、Z、X

Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态.Linux进程状态:R (TASK_RUNNING),可执行状态.只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中).进程调度器的任务就是从各个CPU的可执行队列中分别选择一个进程在该CPU上运行.很多操作系统教科书将正

Linux进程状态转换图

Linux进程状态 Linux内核中的进程状态 ◆运行状态(TASK_RUNNING) 指正在被CPU运行或者就绪的状态.这样的进程被成为runnning进程.运行态的进程可以分为3种情况:内核运行态.用户运行态.就绪态. ◆可中断睡眠状态(TASK_INTERRUPTIBLE) 处于等待状态中的进程,一旦被该进程等待的资源被释放,那么该进程就会进入运行状态. ◆不可中断睡眠状态(TASK_UNINTERRUPTIBLE) 该状态的进程只能用wake_up()函数唤醒. ◆暂停状态(TASK_S

Linux进程状态(ps stat)之R、S、D、T、Z、X 转:http://blog.csdn.net/huzia/article/details/18946491

Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态. Linux进程状态:R (TASK_RUNNING),可执行状态. 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中).进程调度器的任务就是从各个CPU的可执行队列中分别选择一个进程在该CPU上运行. 很多操作系统教科

Linux 进程状态【转】

转自:http://www.cnblogs.com/itech/p/3208261.html 来自: http://blog.csdn.net/tianlesoftware/article/details/6457487 Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态.  在下文将对进程的 R.S.D.T.Z.X 六种状态做个说明. PROCESS STATE CODES Here are the different val

Linux进程状态 ( Linux Process State Codes)

进程状态代码及说明: STATE代码 说明 D 不可中断的睡眠. 通常是处于I/O之中. R 运行中/可运行. 正处于运行队列中. S 可中断的睡眠. 等待某事件发生. T 已停止. 可能是因为shell作业控制或进程正被调试. W 分页中. 不适用于内核2.6.xx及以后的版本. X 死亡. 再也不会出现. Z 死/僵尸进程. < 高优先级任务. N 低优先级任务. L 有分页内存被锁定到内存中. 用于实时任务和自定义I/O. s 会话期首进程. l 属多线程进程. 就像pthreads那样的

linux进程状态浅析

linux中的进程状态: ◆运行状态(TASK_RUNNING)(R状态) 指正在被CPU运行或者就绪的状态.这样的进程被成为runnning进程.运行态的进程可以分为3种情况:内核运行态.用户运行态.就绪态. 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中).进程调度器的任务就是从各个CPU的可执行队列中分别选择一个进程在该CPU上运

Linux进程状态详解及状态转换

    学而不思则罔,思而不学则殆.    Linux下,进程状态有五种 : 运行态,可中断睡眠态,不可中断睡眠态,停止态和追踪态 运行态表示进程可执行或者正在执行, 可中断睡眠态表示进程被阻塞,等条件满足就会被唤醒,也可以提前被信号打断唤醒. 不可中断睡眠态和可中断睡眠态是一样的,除了他不会被信号打断. 停止态就是进程暂停运行,类似挂起,不能被信号打断. 追踪态表示被打断点跟踪的进程. 死亡态表示进程已经终止并被回收.     原文地址:https://www.cnblogs.com/Duik

Linux进程状态

在操作系统下执行top命令,S列为进程状态,对几个进程状态做下解释: 进程大致分为以下几个状态 D    不可中断     Uninterruptible sleep (usually IO) R    正在运行,或在队列中的进程 S    处于休眠状态 T    停止或被追踪 Z    僵尸进程 W    进入内存交换(从内核2.6开始无效) X    死掉的进程 有时候用ps aux查看进程状态跟上面列出的有些差异,比如Sl,R+. 这显示的是该进程的详细标识.S是上面列出的处于 休眠状态,