多进程和多线程 multiprocess & multithread

进程是资源分配的最小单位,线程是CPU调度的最小单位
ps aux
pstree


image.png
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==>

你可能感兴趣的:(多进程和多线程 multiprocess & multithread)