Linux学习之路_14.进程管理
目录
【3】以全格式显示当前的所有的进程,查看进程的父进程:ps -ef | more
【5】服务的运行级别,Linux有七种运行级别,常用的级别是3和5
【7】chkconfig指令,通过该指令可以为每个服务的各个运行级别设置自启动/关闭
1.基本介绍
【1】在Linux中,每个执行的程序(代码),都被称之为一个进程,每个进程都分配一个id号
【2】每一个进程,都对应一个父进程,这个父进程可以复制多个子进程
【3】每个进程都可能以两种方式存在的,前台与后台,所谓前台进程就是用户屏幕上显示的可以操作的程序。后台进程则是实际在操作,单由于屏幕上无法看到的进程,通常使用后台方式进行。
【4】一般系统的服务都是一后台进程的方式存在,而且通常会常驻在系统中,直到关机才结束。
2.显示系统执行的进程
【1】查看进程使用指令是:ps [参数]
BSD风格 |
System V风格 |
||
参数 |
含义 |
参数 |
含义 |
-a |
显示当前终端的所有进程信息 |
-e |
显示所有进程 |
-u |
以用户的格式显示进程信息 |
-f |
全格式 |
-x |
显示后台进程运行的参数 |
ps -ef|grep xxx |
查看某个xxx具体的进程 |
BSD风格
【2】ps指令显示的字段信息
字段 |
说明 |
USER |
用户名 |
PID |
进程id,进程识别号 |
%CPU |
占用的CPU的百分比 |
%MEM |
占用的内存的百分比 |
VSZ |
进程占用虚拟内存大小,单位KB |
RSS |
进程占用物理内存大小,单位KB |
TTY |
终端名称缩写 |
STAT |
进程的状态,S-睡眠,s-该进程是会话的先导进程,N-该进程拥有比普通优先级更低的优先级,R-正在进行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等待 |
START |
进程的启动时间 |
TIME |
占用CPU总时间 |
COMMAMD |
启动进程所用的命令和参数,如果过长会截断 |
System V风格
【3】以全格式显示当前的所有的进程,查看进程的父进程:ps -ef | more
其中字段的含义大多跟上面一样,其中PPID:父进程ID,C:CPU用于计算执行优先级的因子,数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越下,表明进程是I/O密集型运算,执行优先级会提高。
意思是:
请注意"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。
如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
综上: 使用时两者之间直接选择ps aux
两种风格区别:
-
显示的字段有差异
-
COMMADN列如果过长,aux会截断显示,而ef不会
综上:
如果想查看进程的CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef
3.终止进程kill和killall
【1】若某个进程执行到一半时需要停止时,或是已经消耗了很大的系统资源,此时可以考虑停止该进程,使用kill命令完成此项操作。
【2】语法:
kill [选项] 进程号,通过进程号杀死进程
kill 进程名称,通过进程名称杀死进程,支持通配符
选项:-9表示强迫进程立即停止
killall gedit
4.查看进程树
ps [选项],
可选项-p:显示进程的pid
-u:显示进程的所属用户
5.服务管理
【1】服务(service)
本质就是进程,但是是运行在后台的,通常都会监听着某个端口,等待其他程序请求,比如mysql,sshd,防火墙等,所以我们又称之为守护进程。
【2】service管理指令
service 服务名 [start|stop|restart|reload|status]
在CentOS7.0之后不再使用service,而是使用systemctl
【3】实例:查看,停止,重启,防火墙。
【4】查看服务名
- setup
-
ls -l /etc/init.d/
【5】服务的运行级别,Linux有七种运行级别,常用的级别是3和5
- 运行级别0:系统停机状态,系统默认默认运行级别不能设置为0,否则不能正常启动
-
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
-
运行级别2:多用户状态(没有NFS),不支持网络
-
运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
-
运行级别4:系统未使用,保留
-
运行级别5:X11控制台,登录后进入GUI图形模式
-
运行级别6:系统正常关闭并重启,默认运行级别不能为6,否则不能正常启动
【6】开机流程说明
【7】chkconfig指令,通过该指令可以为每个服务的各个运行级别设置自启动/关闭
- 查看服务:chkconfig --list
- 查看某个服务运行级别,chkconfig --list|grep xxx
- 设置级别chkconfig --level 5 服务名 on/off
6动态监控进程
top与ps命令很相似,他们都用来显示正在执行的进程,不同之处在于top在执行一段时间可以更新正在运行的进程。
【1】top [选项]
选项 |
含义 |
-d 秒数 |
指定top命令每个几秒更新,默认3秒 |
-i |
使top不显示任何显示或僵死进程 |
-p |
通过指定监控进程ID来仅仅监控某个进程的状态 |
【2】交互操作说明
操作 |
含义 |
P |
以CPU使用频率排序,默认此项 |
M | 以内存的使用频率排序 |
N |
以PID怕排序 |
q |
退出top |
【3】实例
- 查看指定用户:按u,输入用户名即可。
-
终止进程:按k,输入进程号。
-
指定系统状态更新时间,默认3秒:top -d 10
7.查看网络情况netstat
【1】netstat[选项]
可选:-an:按一定顺序排列输出,-p显示哪个进程在调用
【2】实例
- 查看所有的网络服务:netstat -anp
-
查看指定的服务网络状态:netstat -anp | grep sshd