Linux 操作命令 进程与作业控制
一、概述
- Linux 常用命令分类标准1
- 常用进程与作业控制命令
二、ps
- 功能:显示执行命令瞬间的进程状态
- 含义:Process Status 进程状态
- 权限:所有用户
- 局限:进程状态的一次性查询不连续,对进程时间监控使用Top
- 格式2:
- BSD形式,BSD形式的语法的选项前没有破折号,如:ps aux
- UNIX/LINUX形式,Linux形式的语法的选项前有破折号,如:ps -ef
- 参数:
参数 | 功能 | 备注 |
---|---|---|
-A | 显示所有程序 | all |
-e | 此参数的效果和指定"A"参数相同 | environment |
a | 显示现行终端机下的所有程序,包括其他用户的程序 | all |
c | 显示进程真实名称 | |
e | 列出程序时,显示每个程序所使用的环境变量 | environment |
u | 以用户为主的格式来显示程序状况 | user |
f | 用ASCII字符显示树状结构,表达程序间的相互关系 | |
x | 显示所有程序,不以终端机来区分 | |
r | 只显示正在运行的进程 | running |
N | 显示所有的程序,除了执行ps指令终端机下的程序之外 | 反向选择 |
- 进程2:
- 程序:一个包含可以执行代码的静态文件
- 进程:一个开始执行但是还没有结束的程序的实例
- 状态:
状态 | 说明 | ps aux 中 stat 状态标识码 | 含义 |
---|---|---|---|
运行 | 正在运行或在运行队列中等待 | R | runnable (on run queue) |
中断 | 休眠中, 受阻, 在等待某个条件的形成或接受到信号 | S | sleeping |
不可中断 | 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生 | D | uninterruptible sleep (usually IO) |
僵死 | 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放 | Z | a defunct (”zombie”) process |
停止 | 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行 | T | traced or stopped |
- ps -ef | grep “”
- grep : Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户
- 输出结果
- 参数解析
列名 | 含义 | 备注 |
---|---|---|
UID | 该进程属于那个使用者账号的 | |
PID | 进程编号 | 区分不同进程的唯一标识 |
PPID | 父进程编号 | 所有的进程都是PID为1的init进程的后代。内核在系统启动的最后阶段启动init进程 |
C | %CPU 进程占CPU的百分比 | |
STIME | 进程启动到现在的时间 | |
TTY | 登入者的终端机位置 | pts/0 表示由网络连接主机进程 ;? 表示与终端无关 |
TIME | 使用掉的CPU时间 | |
CMD | 所下达的是什么指令 |
- ps aux | grep “”
- 输出结果
- 进程状态:其中STAT状态位常见的状态字符有3
- 输出结果
标识 | 含义 |
---|---|
D | 无法中断的休眠状态(通常 IO 的进程); |
R | 正在运行可中在队列中可过行的; |
S | 处于休眠状态; |
T | 停止或被追踪; |
W | 进入内存交换 (从内核2.6开始无效); |
X | 死掉的进程 (基本很少见); |
Z | 僵尸进程; |
< | 优先级高的进程 |
N | 优先级较低的进程 |
L | 有些页被锁进内存; |
s | 进程的领导者(在它之下有子进程); |
l | 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); |
+ | 位于后台的进程组; |
-
- 参数解析
列名 | 含义 | 备注 |
---|---|---|
USER | 该进程属于那个使用者账号的 | |
PID | 进程编号 | 区分不同进程的唯一标识 |
%CPU | 进程占用的CPU百分比 | |
%MEM | 占用内存的百分比 | |
VSZ | 该进程使用的虚拟內存量(KB) | |
RSS | 该进程占用的固定內存量(KB)(驻留中页的数量) | |
TTY | 登入者的终端机位置 | pts/0 表示由网络连接主机进程 ;? 表示与终端无关 |
STAT | 进程的状态 | |
START | 该进程被触发启动时间 | |
TIME | 该进程实际使用CPU运行的时间 | |
COMMAND | 所下达的是什么指令 |
- ps -o pid,ppid,pgrp,session,tpgid,comm 输出指定字段的内容2
- ps auxw --sort=rss 按照内存占用情况对进程进行排序2
- ps auxw --sort=%cpu 按照CPU负载占用情况对进程进行排序2