Linux之进程管理
在Linux中,每个执行的程序都称为一个进程,每个进程都分配一个ID。
每一个进程,都有对应一个父进程,这个父进程可以复制多个子进程。
- 每个进程都可能以两种方式存在:
- 屏幕上可操作的
- 后台运行
显示系统执行的进程
ps 命令是用来查看目前系统中,进程相关信息。
字段 | 说明 |
---|---|
PID | 进程识别号 |
TTY | 终端机号 |
TIME | 此进程所消耗CPU 时间 |
CMD | 正在执行的命令或进程名 |
- ps -a:显示当前终端的所有进程信息
- 5757 pts/1 00:00:00 ps
- ps -u:以用户的格式显示进程信息
- ps -x:显示后台进程运行的参数
- ps -e:显示当前所有的进程
- ps -f:全格式显示
ps -aux 参数说明
user | 用户名 |
---|---|
pid | 进程号 |
%cpu | 进程占用cpu的百分比 |
%mem | 进程占用物理内存百分比 |
VSZ | 进程占用虚拟内存大小 KB |
RSS | 进程占用物理内存大小 KB |
TTY | 终端名称,缩写 |
STAT | 进程状态:S-睡眠。s-是会话的先导进程。N-进程拥有比普通进程更低的优先级。R-正在运行。D-短期等待。Z-僵死进程。T-被跟踪或被停止 |
START | 进程的启动时间 |
TIME | 进程使用cpu的总时间 |
COMMAND | 启动进程所用的命令和参数,会被截断 |
终止进程
某个进程执行一半需要停止,或者消耗系统大量资源时,使用 kill 命令 终止进程。
基本语法
kill 【选项】 进程号
killall 进程名
- -9 :强迫进程立即停止
实例
踢掉某个非法登录用户
- ps -aux | grep sshd
- kill pid
终止多个编辑器
- killall gedit
强制杀掉一个终端
- kill -9 pid
查看进程树
pstree 【选项】
-p:显示进程的PID
-u:显示进程的所属用户
动态监控进程
命令
top 【选项】
-d 秒数:指定 top命令每隔几秒更新,默认是 3秒
-i:使top不显示任何闲置或者僵死进程
-p:通过指定监控进程ID来仅仅监控某个进程的状态
交互操作
P【大写】:以cpu使用率排序
M【大写】:以内存的使用率排序
N【大写】:以PID排序
q:退出
监控网络状态
命令:netstat 【选项】
-an:按照一定顺序排列输出
-p:显示哪个进程调用