一、Linux 进程管理
1、Linux 进程概述
(1)进程简介
- 在LINUX中,每个执行的程序(代码)都称为一个进程。一个进程都分配一个ID号。
- 每一个进程, 都会对应一个父进程,而这个父进程可以复制多个子进程。例如wwww服务器。
- 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才才结束。
2、进程指令
(1) ps
命令:查看进程,显示的字段有
- PID:进程识别号
- TTY:终端机号
- TIME:此进程所消CPU时间
- CMD:正在执行的命令或进程名
ps -a
:显示当前终端的所有进程信息
ps -u
:一用户的格式显示进程信息
ps -x
:显示后台进程运行的参数
在上图的显示中,
- USER:表示用户名
- PID:表示进程的id
- %CPU:表示占用的CPU
- %MEM:表示占用的内存百分比
- VSZ:表示使用的虚拟内存
- RSS:表示使用的物理内存
- TTY:表示使用的终端
- STAT:表示进程的状态,s表示休眠,r表示运行
- START:表示进程的启动时间
- TIME:表示占用cpu总时间
- COMMAND:表示进程执行时的命令行
ps -aux | grep xxx
:查看一个具体的进程,如xxx
ps -ef | more
:查看父进程
(2)终止进程指令:kill
和 killall
kill [选项] 进程号
:通过进程号杀死进程killall 进程名称
:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
常用选项:
-9
:表示强迫进程立即停止
(3)查看进程树:pstree
pstree [选项]
:以树的形式查看进程
常用选项
-p
:显示进程的PID-u
:显示进程的所属用户
二、Linux 服务管理
1、Linux 服务概述
(1)服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql, sshd防火墙等),因此我们又称为守护进程
2、Linux 服务管理指令
(1)service
管理指令:
service服务名 [start | stop| restart | reload| status]
- 在Centos7.0以后,指令为
systemctl
,而不是``service
示例
- 停止/启动/查看防火墙
(2)setup
指令设置服务自动启动 - 执行setup指令进入以下界面
- 选择系统服务,进入下面的界面,在这里就可以设置需要自动启动的服务,带
*
号的都是可以自动启动的服务。
(3)/etc/init.d/
指令:查询服务
(4)vi/etc/inittab
指令:查看/修改服务的默认运行级别
① 服务的运行级别 - 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,用于root权限,用于系统维护,该运行级别禁止远程登陆
- 运行级别2:多用户状态(没有NFS),不支持网络连接
- 运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登陆后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设置为6,否则系统不能正常启动
② 开机流程
开机 >> BIOS >> /boot >> init进程 >> 运行级别 >> 运行级别对应的服务
(5)chkconfig
指令:给每个服务的各个运行级别设置自启动/关闭
chkconfig --list | grep xxx
:查看所有的服务的自启动状态
chkconfig [服务名] --list
:查看某个服务的自启动状态
chkconfig --level 5 [服务名] on/off
:指定查看某个服务的指定运行级别的自启动状态
三、Linux 监控服务
(1)top
指令:动态监控进程
top与ps.命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
top [选项]
常用选项
-d 秒数
:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令-i
:使top不显示任何闲置或者僵死进程.-p
:遇过指定监控进程ID来仅仅监控某个进程的状态。
交互操作说明
P
:以CPU使用率排序,默认就是此项M
:以内存的使用率排序N
:以PID排序q
:退出top
示例
上图中
20:57:25
:当前时间38 min
:系统已运行时间2 users
:当前登录用户数load average: 0.00,0.00,0. 00
:负载均衡Tasks :285 total
:总进程数1 running 284
:正在运行进程数0 stopped
:已停止进程数0 zombie
:僵尸进程数Cpu(s) 0. 0%us
:用户占用cpu0.1%sy
:系统占用cpu99.9%id
:空闲cpuMem
:代表当前内存使用情况Swap
:Swap分区
(2)netstat
指令:查看系统网络情况
netstat [选项]
选项说明
-an
:按一定顺序排列输出-p
:显示哪个进程在调用
(3)ping
指令:检测主机连接命令
这是一种网络检测检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障,如: ping对方ip地址I