进程是资源分配的最小单位,线程是CPU调度的最小单位
ps aux
pstree
symbol | describe | meaning |
---|---|---|
< | 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 | 包含子进程 |
+ | is in the foreground process group | 位于后台的进程组 |
l | is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) | 多线程,克隆线程 |
STAT | status name | status | descripiton |
---|---|---|---|
R | running or runnable (on run queue) | TASK_RUNNING 正在运行,或在运行队列 | 进程当前正在运行,或者正在运行队列中等待调度。 |
S | nterruptible sleep (waiting for an event to complete) | TASK_INTERRUPTIBLE 处于休眠状态 | 进程处于睡眠状态,正在等待某些事件发生。进程可以被信号中断。接收到信号或被显式的唤醒呼叫唤醒之后,进程将转变为TASK_RUNNING 状态。 |
D | uninterruptible sleep (usually IO) | TASK_UNINTERRUPTIBLE 不可中断 | 此进程状态类似于 TASK_INTERRUPTIBLE,只是它不会处理信号。中断处于这种状态的进程是不合适的,因为它可能正在完成某些重要的任务。 当它所等待的事件发生时,进程将被显式的唤醒呼叫唤醒。(task_UNINTERRUPTIBLE)状态不会响应任何信号,所有Kill -9 pid,会发现进程依然存在 |
T | stopped by job control signal | TASK_STOPPED 停止 | 进程已中止执行,它没有运行,并且不能运行。接收到 SIGSTOP 和 SIGTSTP 等信号时,进程将进入这种状态。接收到 SIGCONT 信号之后,进程将再次变得可运行。 |
t | stopped by debugger during the tracing | TASK_TRACED 被追踪 | 正被调试程序等其他进程监控时,进程将进入这种状态。 |
Z | defunct ("zombie") process, terminated but not reaped by its parent | EXIT_ZOMBIE 僵尸进程 | 进程已终止,它正等待其父进程收集关于它的一些统计信息。 |
X | dead (should never be seen) | EXIT_DEAD 死掉的进程 | 最终状态(正如其名)。将进程从系统中删除时,它将进入此状态,因为其父进程已经通过 wait4() 或waitpid() 调用收集了所有统计信息。 |
I | Idle kernel thread | Idle kernel thread | 空闲内核进程 |
man 1 ps==>