一、ps命令
语法格式:ps 【-aAcefFHlW】 【-g grplist】 【-p proclist】 【-t term】 【-u usrlist】
ps命令的部分选项
选项 | 描述 |
-a | 所有活动进程的当前状态(与终端无关的进程除外) |
-A(-e) | 所有进程的状态信息 |
-c | 显示有关进程的额外调度信息 |
-f | 进程的完整格式信息 |
-F | 比-f显示更多的信息 |
-H | 以缩进形式显示所有进程的调度关系 |
-l | 进程的详细状态(进程的起始运行时间除外) |
-w | 宽格式显示 |
-g | 与用户组有关的进程信息 |
-p | 指定进程信息 |
-u | 指定用户的进程信息 |
-t | 指定终端的进程信息 |
-j | 作业信息 |
-M | 进程的安全信息 |
esperantor@ubuntu:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 17:51 ? 00:00:01 /sbin/init
root 2 0 0 17:51 ? 00:00:00 [kthreadd]
root 3 2 0 17:51 ? 00:00:00 [ksoftirqd/0]
root 4 2 0 17:51 ? 00:00:00 [migration/0]
root 5 2 0 17:51 ? 00:00:00 [watchdog/0]
root 6 2 0 17:51 ? 00:00:00 [events/0]
root 7 2 0 17:51 ? 00:00:00 [cpuset]
root 8 2 0 17:51 ? 00:00:00 [khelper]
root 9 2 0 17:51 ? 00:00:00 [netns]
root 10 2 0 17:51 ? 00:00:00 [async/mgr]
root 11 2 0 17:51 ? 00:00:00 [pm]
root 12 2 0 17:51 ? 00:00:00 [sync_supers]
root 13 2 0 17:51 ? 00:00:00 [bdi-default]
……
UID | PID | PPID | C | STIME | TTY | TIME | CMD |
所属用户 | 进程ID | 父进程ID | 进程周期的CPU利用率 | 起始运行时间 | 进程控制终端 | 进程累计占用CPU的时间 | 进程对应的命令或程序名 |
esperantor@ubuntu:~$ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 1000 2147 2143 20 0 8140 3172 wait Ss pts/0 0:00 bash
0 1000 2490 2147 20 0 5984 672 - R+ pts/0 0:00 ps l
F | S | PRI | NI | ADDR | SZ | WCHAN | VSZ | RSS |
内核分配的系统标记 | 工作状态 | 优先级 | 优先级的调整值 | 进程的地址 | 换出进程大约所需的交换空间 | 进程睡眠时所在的内核函数的地址 | 进程所占的虚拟内存 | 进程所占的物理内存 |
注:
进程状态表
第一个字符
S | D | R | X | Z | W | T |
休眠状态 | 不可中断 | 正在运行,或在队列中 | 已终止 | 僵尸进程(濒临死亡) | 进入内存交换 | 停止或被追踪 |
第二个字符
< | N | L | s | + | | |
高优先级 | 低优先级 | 内存中存在锁定页 | 含子进程 | 正在前台运行 | 多线程 |
2.pstree
树状显示进程信息
-a 显示完整命令及参数 -c 重复进程分别显示 -c 显示进程ID PID -n 按 PID 排列进程
3.pgrep <进程名>
显示进程的PID
-l 显示进程名和进程PID -o 进程起始ID -n 进程终止ID
二、top命令(动态监控进程及系统资源)
格式:top 【-hv | -bcisS】 【-d deday】 【-n iterations】 【-p pids】
esperantor@ubuntu:~$ top
top - 18:46:10 up 54 min, 2 users, load average: 0.46, 0.35, 0.27
Tasks: 139 total, 2 running, 137 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.7%us, 0.3%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 508488k total, 484648k used, 23840k free, 66040k buffers
Swap: 916476k total, 0k used, 916476k free, 219816k cached
……
1.up 系统启动时间
2.users 系统注册的用户数
3.load average 系统在最近1、5、15分钟的平均负载值
4.Tasks进程运行状态信息汇总(zombie僵尸)
5,Cpus CPU工作状态的分内统计
%us 用户模式下所占时间的百分比
%sy 系统模式下所占时间的百分比
%ni 优先级经nice调整过的进程所占时间的百分比
%id 空闲状态所占时间的百分比
%wa 等待I/O完成时间的百分比
%hi 处理硬件中断时间的百分比
%si 处理软件中断时间的百分比
%st 虚拟机运行时间的百分比
5.Men 系统物理内存使用情况汇总信息
6.Swap 交换区使用情况汇总信息
三、进程的终止
Linux系统进程信号表
信号 | 信号名 | 默认处理动作 | 说明 |
1 | HUP | 终止进程 | 挂起 |
2 | INT | 终止进程 | 中断 |
3 | QUIT | 终止进程,生成内存映像文件(core) | 退出 |
4 | KILL | 终止进程,生成内存映像文件(core) | 非法指令 |
5 | TRAP | 终止进程,生成内存映像文件(core) | 硬件故障或断点跟踪 |
6 | ABRT | 终止进程,生成内存映像文件(core) | 异常终止(abortion()产生) |
7 | BUS | 终止进程,生成内存映像文件(core) | 总线故障 |
8 | FPE | 终止进程,生成内存映像文件(core) | 浮点运算异常 |
9 | KILL | 终止进程,生成内存映像文件(core) | 进程无法捕捉,也不能忽略的终止信号 |
10 | USR1 | 终止进程 | 用户定义信号1 |
11 | SEGV | 终止进程,生成内存映像文件(core) | 内存地址越界或访问权限不足 |
12 | USR2 | 终止进程 | 用户定义信号2 |
13· | PIPE | 终止进程 | 管道断开 |
14 | ALARM | 终止进程 | alarm()产生 |
15 | TERM | 终止进程 | kill命令产生的默认信号 |
16 | STKFLT | 终止进程 | 栈故障 |
17 | CHILD | 忽略 | 子进程状态改变 |
18 | CONT | 忽略 | 作业控制 |
19 | STOP | 停止进程 | 停止进程 |
20 | TSTP | 停止进程 | 键盘停止信号 |
21 | TTIN | 停止进程 | 后台试图从终端读数据 |
22 | TTOU | 停止进程 | 后台试图向终端输出数据 |
23 | URG | 忽略 | 从网络套接收数据发生错误 |
24 | XCPU | 终止进程,生成内存映像文件(core) | 进程超时 |
25 | XFSZ | 终止进程,生成内存映像文件(core) | 进程创建文件超过其容量 |
26 | VTALRM | 终止进程 | setitimer()设置虚拟间隔时间超时 |
27 | PROF | 终止进程 | setitimer()设置内核间隔时间超时 |
28 | WINCH | 忽略 | 窗口大小变动 |
29 | IO | 终止进程 | 异步I/O |
30 | PWR | 忽略 | 电源故障 |
31 | SYS | 终止进程,生成内存映像文件(core) | 系统调用有误 |
1.kill 命令
终止进程号为PID的进程
2.killall命令
停止指定名称或通配符(非PID)的进程
四、进程优先级调整
1.nice命令
格式:nice 【-n number】 【command 【arguments】】
n默认为10
普通用户可以降低进程优先级(0~19),只有ROOT才能提高进程优先级(-20~19)
2.renice命令
格式:renice priority 【【-p】pids】 【【-u】users】
pids 可是多个,即renice可调整多个进程的优先级。