经典进程管理命令
ps、pstree、top、htop、nice、renice、kill、ulimit、w 和 who 和 whoami、pgrep、fg 和 bg、ipcs
ps
ps参数多,本文章尽量详细进行介绍。最好的方式还是
ps --help all
man ps
info ps
参数
- -A 列出所有的进程
- -a 显示同一终端下的进程
- c 显示进程的真实名
- -C 进程名字
- e 显示环境变量
- f , –forest 显示程序之间的关系
- -f 全部列出
- -x 没有控制终端的进程
- -p pid
- -u uid
- -g 显示组的所有进程
- -H 显示树状结构
- r 当前终端的进程
- T 当前终端的所有程序
- -w 显示加宽可以显示较多的信息
- -u 以用户为主的进程状态
- –lines <行数> 每页显示的行数
- –widths <字符数字> 每页显示的字符数
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的进程
-输出格式
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
行程拥有者 | pid | 占用cpu百分比 | 占用的记忆体使用率 | 占用的虚拟记忆体大小 | 占用的记忆体大小 | 终端的次要装置号码 | 该行程的状态: | 行程开始时间 | 执行的时间 | 所执行的指令 |
- 关于上述 STAT 状态码
D | R | S | T | Z | W | < | N | L | + |
---|---|---|---|---|---|---|---|---|---|
不可中断的静止 | 正在执行状态 | 静止状态 | 暂停执行 | 不存在但暂时无法消除 | 没有足够的记忆体分页可分配 | 高优先级 | 低优先级 | 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O) | 后台程序 |
输出格式
- l 详细输出 包括pid
- j 工作的格式输出
- f 更完整的输出
命令实例
常与grep 一起使用 与watch 组成实时监控
ps -A 显示进程信息
ps -u user 显示指定用户信息
ps -ef 显示所有命令 包括终端
ps -l 将目前属于您自己这次登入的 PID 与相关信息列示出来
ps -axu 显示正在内存中的信息
ps -axjf 类似程序树显示
ps -o 指定输出字段
kill 终止进程
格式
kill[参数][进程号]
常用参数
- -l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
- -a 当处理当前进程时,不限制命令名和进程号的对应关系
- -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
- -s 指定发送信号
- -u 指定用户
示例
kill -l 列出所有信号名称
说明
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
先用ps查找进程,然后用kill杀掉