Linux下的进程管理
1.什么是进程?
程序是静态的文件
进程是运行中的程序的一个副本
进程存在生命周期(准备期,运行期,终止期)
2.进程状态
状态 |
定义 |
|
|
R(TASK_RUNNING) 、 |
可执行状态(RUNNING,READY)running:正在被处理 ready: 在排队, cpu处理进程个数有限 |
S(TASK_INTERRUPTIBLE) |
可唤醒状态 :在cpu上使用的时间超时,此时被打入休眠状态,随着程序的调用会被唤醒 |
D(TASK_UNINTERRUPTIBLE) |
不可唤醒状态 |
T(TASK_STOPPED) |
暂停状态:打入后台,暂停 人为控制, |
Z(EXIT_ZOMBIE) |
僵死态:父级进程先结束,所以子进程没有被回收 |
查看进程
1.pstree命令
pstree
进程 是资源调配的最小单位
线程 是进程运行的最小单位
systemd 守护进程:进程的领导,对进程初始化,

2.ps命令的常规用法
ps |
显示当前命令执行时进程状态 |
参数 |
效果 |
a |
显示与终端相关进程(BSD) |
x |
显示与所有与进程无关进程(BSD) |
u |
以用户为归类显示进程状态 |
f |
层级结构显示进程信息 |
o |
指定查看选项pid,comm,nice,pri,pcup,stat,ppid |
-e |
显示所有进程(unix) |
-f |
显示完整格式信息(unix) |
-H |
层级结构显示进程的相关信息 |
-o |
指定查看选项pid,comm,nice,%cpu,%mem,nice |
*ps显示命令
字段 |
解释 |
USER |
用户名称 |
PID |
进程id |
%CPU |
cpu用量百分比 |
%MEM |
内存用量百分比 |
VSZ |
占用虚拟内存大小 |
RSS |
常驻内存集大小 |
TTY |
字符终端 |
STAT |
进程状态 |
START |
运行时间 |
TIME |
占用cpu时间 |
COMMAND |
进程名称 |
注:查看的时候第一行为标题

3 进程过滤命令pgrep
ps aux | grep root 过滤超级用户(用户会显示,带有root行的关键字也会显示不够准确)
所以
pgrep
pgrep |
显示指定进程 |
参数 |
效果 |
-u uid |
显示指定用户进程 |
-U name |
显示指定用户进程 |
-t tty |
显示指定终端进程 |
-l |
显示进程名称 |
-a |
显示完整格式进程名 |
-P pid |
显示指定进程的子进程 |

