进程管理
进程简介
- 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源
- 程序只要进行一定会产生至少一个进程
进程管理的作用
- 判断服务器健康状态(最重要)
- 查看系统中所有进程
- 杀死进程
进程查看命令ps
- ps aux #查看系统中所有进程,使用BSD操作系统格式(更常用)
- ps -le #查看系统中所有进程,使用Linux标准命令格式
输出格式
输出内容 |
含义 |
USER |
该进程是由哪个用户产生的 |
PID |
进程的ID号 |
%CPU |
该进程占用CPU资源的百分比,占用越高,进程越耗费资源 |
%MEM |
该进程占用物理内存的百分比,占用越高,进程越耗费资源 |
VSZ |
该进程占用虚拟内存的大小,单位KB |
RSS |
该进程占用实际物理内存的大小,单位KB |
TTY |
该进程是在哪个终端运行的 |
查看系统健康状态命令top [选项]
- -d 秒数:指定top命令每隔几秒更新。默认是3秒
- 在top命令的交互模式当中可以执行的命令:
- ?或h:显示交互模式的帮助
- P:以CPU使用率排序,默认就是此项
- M:以内存的使用率排序
- N:以PID排序
- q:退出top
输出格式
行数 |
说明 |
具体内容 |
1 |
任务队列信息 |
系统当前时间;系统运行时间;当前登录用户数;之前1分钟、5分钟、15分钟的平均负载 |
2 |
进程信息 |
系统中的进程总数;正在进行的进程数;睡眠的进程;正在停止的进程;僵尸进程 |
3 |
CPU信息 |
用户模式占用的CPU百分比;系统模式百分比;改变过优先级的用户进程占用的百分比;空闲CPU的百分比;等待输入/输出的进程占用百分比;硬中断请求服务占用百分比;软中断请求百分比;虚拟时间百分比 |
4 |
物理内存信息 |
物理内存的总量;已经使用的物理内存数量;空闲的物理内存数量;作为缓冲的内存数量 |
5 |
交换分区信息 |
交换分区(虚拟内存)的总大小;已经使用的交换分区的大小;空闲交换分区的大小;作为缓存的交换分区的大小 |
查看进程树pstree [选项]
终止进程kill [-信号代号] [进程PID]
查看可用的进程信号kill -l
信号代号 |
信号名称 |
说明 |
1 |
SIGHUP |
该信号让进程立即关闭,然后重新读取配置文件之后重启 |
2 |
SIGINT |
程序终止信号,用于终止前台进程。相当于输出ctrl+c快捷键 |
8 |
SIGFPE |
在发生致命的算术运算错误时发出。不仅包括浮点运算错误,还包括溢出及除数为0等其他所有的算术错误 |
9 |
SIGKILL |
用来立即结束程序的运行。本信号不能被阻塞、处理和忽略,一般用于强制终止进程 |
14 |
SIGALRM |
时钟定时信号,计算的是实际的时间或时钟时间。alarm函数使用该信号 |
15 |
SIGTERM |
正常结束进程的信号,kill命令的默认信号。有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号 |
18 |
SIGCONT |
该信号可以让暂停的进程恢复执行,本信号不能被阻断 |
19 |
SIGSTOP |
该信号可以暂停前台进程,相当于ctrl+z快捷键。本信号不能被阻断 |
按照进程名终止进程killall [选项] [-信号] 进程名
- -i:交互式,询问是否要杀死某个进程
- -l:忽略进程名的大小写
pkill [选项] [-信号] 进程名 (可以用来踢出用户)
- -t 终端号:按照终端号提出用户
- 使用w命令查询用户
工作管理
把进程放入后台
使用 & 实现后台运行
- tar -zcf etc.tar.gz / etc &(后台运行)
使用ctrl+z快捷键实现后台暂停
- top #在top命令执行的过程中,按下ctrl+z快捷键(后台暂停)
查看后台的工作jobs [-l]
- -l:显示工作的PID
- "+"代表最后一个放入后台的工作,“-”代表倒数第二个放入后台的工作
将后台暂停的工作恢复到前台执行fg %工作号
将后台暂停的工作恢复到后台执行bg %工作号
- 注意,后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行
系统资源查看
监控系统资源vmstat [刷新延时 刷新次数]
开机时内核检测信息dmesg
查看内存使用状态free [选项]
- -b:以字节为单位显示
- -k:以KB为单位显示,默认选项
- -m:以MB为单位显示
- -g:以GB为单位显示
缓存与缓冲的区别
- 缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的
查看CPU信息 cat/proc/cpuinfo
显示系统的启动时间和平均负载uptime
- 也就是top命令的第一行
- w命令也可以看到这一数据
查看系统与内核相关信息uname [选项]
- -a:查看系统所有相关信息
- -r:查看内核版本
- -s:查看内核名称
列出进程打开或使用的文件信息lsof [选项]
- -c 字符串:只列出以字符串开头的进程打开的文件
- -u 用户名:只列出某个用户的进程打开的文件
- -p pid:只列出某个PID进程打开的文件
系统定时任务
crond服务管理与访问控制
- service crond restart
- chkconfig crond on
- 具体脚本文件编写见参考书