Process/Thread Model

Stopped:进程收到停止信号后停止运行

Ready:正在运行

Executing正在运行队列中等待

Uninterruptible sleep:不可终端指的不是CPU不响应外部硬件的中断,而是进程不响应异步信号

Interruptible sleep:等待某些事件的发生而被挂起

Zombie:进程已终止,但进程的进程控制块(以及少数资源)没被回收


程序优先级,数字越小,越优先,更优先获得运行的机会,获得更多的CPU运行时间

0-99:内核控制

100-139:用户可控制


nice值:优雅的,友好的,越小越优先

普通用户只能改大进程的nice值,不能改小


进程号:1-65535

init的进程号永远是1,是所有进程的父进程


ps:Process State

风格:

    System V风格:选项要用到 -

    BSD风格:选项不需用到 -


    a:显示所有跟终端有关的进程

    u:显示更详细的信息

    x:所有与终端无关的进程

Linux学习笔记<十六>——进程管理_Linux学习 进程管理

    -elF:显示更详细的信息Linux学习笔记<十六>——进程管理_Linux学习 进程管理_02    -o PROPERYT1,PROPERTY2,...:指定要显示的属性字段

ps -o pid,ni ,默认只显示前台的进程,ps -axo pid,ni显示所有进程


ps查询中进程状态:

D:不可终端的睡眠

R:运行或就绪

S:可中断的睡眠

T:停止

Z:僵尸


<:高优先级进程

N:低优先级继承

+:前台进程组中的进程

l:多线程继承

s:会话进程的首进程


ps查询中COMMAND字段中加了中括号的表示内核中的线程


pgrep:显示特定条件下的进程pid

pgrep [OPTIONS] CONDITION

    -l:同时显示进程和PID

    -o:当同时匹配多个进程时,显示进程号最小的那个

    -n:当同时匹配多个进程时,显示进程号最大的那个

Linux学习笔记<十六>——进程管理_Linux学习 进程管理_03


pidof:显示特定进程的pid

Linux学习笔记<十六>——进程管理_Linux学习 进程管理_04


top:实时监控进程的信息,默认根据cup百分比由大到小排序

    -d #:指定刷新时长,单位为秒

    -b:批模式,显示所有进程的信息

    -n #:批模式的刷新次数

top的交互式命令:

    M:根据驻留内存大小进行排序

    P:根据CPU使用百分比进行排序

    T: 根据累计时间进行排序

l: 是否显示平均负载和启动时间

t: 是否显示进程和CPU状态相关信息

m: 是否显示内存相关信息

c: 是否显示完整的命令行信息

q: 退出top

k: 终止某个进程

Linux学习笔记<十六>——进程管理_Linux学习 进程管理_05


kill:给进程发送信号

kill [OPTION] PID

kill中的重要信号:

1:SIGHUP 让一个进程不用重启就可以重读配置文件,并让新的配置信息生效

2:SIGINT Ctrl+c 中断一个进程

9:SIGKILL 杀死一个进程,强行杀死

15:SIGTERM 终止一个进程,按正确流程终止,缺省选项


指定一个信号:

    信号号码:kill -1

    信号名称: kill -SIGKILL

    信号名称简写:kill -KILL


注意:kill 只能接PID和%JOBID,killall 只能接 进程名


调整nice值

调整已经启动的进程的nice值:

renice NI PID


在启动时指定nice值:

nice -n NI COMMAND


前台与后台

前台作业:占据了命令提示符

后台作业:启动之后,就释放命令提示符,后续的操作在后台完成


前台-->后台:

    Ctrl+z:把正在前台的作业送往后台

    COMMAND &:让命令在后台执行


jobs:查看后台的所有作业

Linux学习笔记<十六>——进程管理_Linux学习 进程管理_06


bg:让后台的停止作业继续运行

    [JOBID]:默认不加作业号执行有+的作业


fg:将后台的作业调回前台

    [[%]JOBID]:默认不加作业号执行有+的作业


kill %JOBID:终止某作业


vmstat:显示虚拟内存的信息

# *:每个#秒刷新一次,刷新*次

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0  76460  33100  69348    0    0   148    28 1014   66  1  1 94  4  0