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 |
显示指定进程的子进程 |

