进程管理
1.初始进程
进程是已启动的可执行程序的运行实例,进程有以下组成部分:
- 已分配内存的地址空间;
- 安全属性,包括所有权凭据和特权;
- 程序代码的一个或多个执行线程;
- 进程状态
2.查看进程
2.1静态查看进程
- ps aux:此命令查看当前目录的进程
PID :进程ID。
PPID :父进程的进程ID(Parent Process id) 。
%CPU:进程占CPU的百分比。
%MEM :该进程所占用的物理内存百分比
VSZ :进程使用掉的虚拟内存量 (Kbytes)(Virtual Size) 。
RSS :进程占用的固定的内存量 (Kbytes)。
TTY :与进程关联的终端(tty)。进程是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:程序目前的状态,主要的状态有:
D :不可中断
R :运行
S :中断
T :停止
Z :僵死
START:进程被触发启动的时间。
TIME :进程实际使用 CPU 运作的时间。
COMMAND:进程的运启动的实际指令。 - ps aux --sort -%cpu:此命令按照CPU占用百分比的降序排列
一般情况下为了快速查找需要显示的内容使用 - ps axo pid,%cpu,user,xxx:此命令可以显示需要查看的进程
常用的查看指定进程PID的方法 - cat /run/sshd.pid
- pidof sshd
- pgrep sshd
2.2动态查看进程
- top:此命令可以实时动态的显示进程,系统默认更新时间为3s
第一行:任务队列信息
15:02:18 当前时间
up 1min 系统运行时间。1分钟。
2 user 当前登录用户数。
load average: 0.91, 0.34, 0.12 系统负载,即任务队列的平均长度。
第二行:进程数信息
213 total 进程总数
2 running 正在运行的进程数
211 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
第三行:CPU状态
第四行:内存状态
第五行:swap交换状态
第六行:空行
第七行以下:各进程的状态监控
- 按M键以内存占用率排序
- 按P键以CPU占用率排序
- 按N键以PID数值大小排序
- 按R键对顺序进行反转,按F键显示自定义显示字段,按上下键移动,按空格键选中,按q键退出自定义显示字段,按w键保存自定义显示字段
- 按1键显示所有cpu负载
2.3top命令参数
- b:以批量模式运行,但不能接受命令行输入;
- c:显示命令行,而不仅仅是命令名;
- d:显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒;
- i:不显示空闲进程和僵尸进程;
- n:更新的次数,完成后退出top。比如 -n 5,表示top更新5次数据就退出;
- p:参数为PID,仅监视指定进程的ID;PID是一个数值;
- q:不经任何延时就刷新;
- s:安全模式运行,禁用一些效互指令;
- S:累积模式,输出每个进程的总的CPU时间,包括已死的子进程;
例:设置top命令10秒刷新一次。
命令:top -d 10
例:显示程序及其完整相关信息
命令:top -c
例:设定监控信息的更新次数。如设定系统任务信息更新5次后结束top命令,在命令行提示符下输入:
命令:top -n 5
3.信号克制进程
3.1kill命令
命令参数:
- -l :信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称。
- -a :当处理当前进程时,不限制命令名和进程号的对应关系。
- -p :指定kill 命令只打印相关进程的进程号,而不发送任何信号。
- -s :指定发送信号。
- -u :指定用户。
常见信号:
信号编号 | 名称 | 特性及意义 |
---|---|---|
1 | SIGHUP | 启动被终止的进程,重新加载,PID不会变 |
9 | SIGKILL | 强制终止进程,使用此信号可能导致进程无法再次启动 |
15 | SIGTERM | 默认信号,以正常流程终止进程,允许进程释放资源。若进程已经出现问题,无响应,此信号将不起作用 |
18 | SIGCONT | 恢复进程 |
19 | SIGSTOP | 暂停进程 |
3.2killall命令
可以用于终止某个指定名称的服务所对应的全部进程