22-服务管理
服务简介和分类
服务管理命令只能适用于rpm包安装的服务
Linux服务
-
RPM包默认安装服务
-
独立服务
在系统内存里的,访问速度快。缺点是占用内存。
-
基于xinetd服务
在内存当中,本身没功能是独立的,在其后面管理很多服务,要通过xinnetd访问其他服务。
-
-
源码包安装的服务
启动与自启动
-
服务启动
就是在当前系统中让服务运行并提供功能
-
服务自启动
让服务在系统开机或重启之后,随着系统启动而自动启动服务。
查询已安装的服务
RPM包安装的服务
-
chkconfig --list 查看服务自启动中途,可以看到所有RPM包安装的服务
0123456代表默认运行级别
源码包安装的服务
- 查看服务安装位置,一般是/usr/local/下
RPM安装服务和源码包安装服务区别
本质区别就是安装位置不同
源码包安装在指定位置,一般是/usr/local
RPM包是开发人员自己安装的位置(约定俗成的位置)
RPM包启动脚本在/etc/rc.d/init.d/目录下
RPM服务管理方法——独立服务管理
- /etc/rc.d/init.d/ 启动脚本位置
- /etc/sysconfig/ 初始化环境配置文件位置
- /etc/配置文件位置
- /etc/xinetd.conf xinetd配置文件位置
- /etc/xinetd.d 基于xinetd服务的启动脚本
- /var/lib/ 服务产生的数据放在这
- /var/log/ 日志
独立服务的启动方法
方法1:
- /etc/init.d 独立服务名 star/stop/status/restart
启动/停止/状态/重启
方法2:
- service 独立服务名 star/stop/status/restart
(红帽专属命令)
- service --status–all 列出所有RPM包安装的服务的状态
自启动方法
方法1
-
chkconfig --level 2345 httpd on
或者chkconfig httpd on
方法2
修改/etc/rc.local文件
在文件中写入 /etc/rc.d/init.d/httpd start 自启动阿帕奇
方法3使用ntsysv命令管理自启动
RPM服务管理方法——基于xinetd服务
基于xinetd的服务很少!!了解就行
安装xinetd与telnet
- yum -y install xinetd
- yum -y install telnet-server
源码包安装服务管理
源码包安装服务的启动
使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
/us/local/apache2/bin/apachect1 start|stop
自启动
- vi/etc/rc.d/rc.local
加入 /us/local/apache2/bin/apachect1 start|sto
使用service启动源码包
将启动脚本软链接到/etc/init.d/目录下
23-进程管理
进程管理的作用
- 判断度进程健康状态
- 查看系统中所有进程
- 杀死进程(正常终止进程手段失效的时候杀死进程)
查看进程
-
ps aux查看所有进程
uinux格式
-
ps -le 查看所有进程
Linux格式
- USER 该进程是由哪个用户产生的
- PID 进程ID号
- %CPU 该进程占用CPU资源百分百
- %MEN 该进程占用物理内存百分百
- VSZ 该进程占用虚拟内存大小,单位KB
- RSS 该进程占用实际物理内存大小,单位KB
- TTY 该进程是在哪个终端中运行的
- tty 1-tty7代表本地控制台终端
- tty 1-tty7代表本地字符界面终端
- tty7图形终端
- pts/0-256虚拟终端
- STAT 进程状态
- R 运行
- S 睡眠
- T 停止
- s 包含子进程
- 位于后台
- START 该进程的启动时间
- TIME 该进程占用CPU的运算时间
- COMMAND 产生此进程的命令名
查看系统健康状态
- top [选项]
- -d 秒数 指定top每隔几秒钟更新,默认3秒
- ?或h 显示交互模式的帮助
- P 以CPU使用率排序,默认此选项
- M 以内存的使用率排序
- N 以PID排序
- q 退出top
第一行
内容 | 说明 |
---|---|
19:56:10 | 系统时间 |
up 14 days,1:25 | 系统运行的时间 |
1user | 1个用户 |
load average: 0.00, 0.01, 0.05 | 过去1分钟,5分钟,15分钟的平均负载(小于1负载小,大于1负载大) |
如果是4核,8核的cpu负载超过4,8,认为负载大
第二行
内容 | 说明 |
---|---|
8 6total | 总共86个进程 |
1 running | 1个正在运行 |
85 sleeping | 85个睡眠 |
0 stopped | 0个正在停止的进程 |
0 zombie | 0个僵死,服务正在停,但是还没完全停止,如果过一会还有的话需要手工检查僵尸进程 |
第三行
内容 | 说明 |
---|---|
Cpu (s): 0.2 us | 用户模式占用cpu百分比 |
0.2 sy | 系统模式占用cpu百分比 |
0.0 ni | 改变过优先级的用户进程占用cpu百分比 |
99.7 id | 空闲CPU占用cpu百分比(小于百分之20服务器压力大) |
0.0 wa | 等待输入/输出的进程占用cpu百分比 |
0.0 hi | 硬中断请求服务占用cpu百分比 |
0.0 si | 软中断请求服务占用cpu百分比 |
0.0 st | 虚拟时间百分比(当有虚拟机时,虚拟CPU等待实际CPU时间) |
第四行
内容 | 说明 |
---|---|
Men: 3880332total | 物理内存的总量,单位KB |
1755996 free | 空闲的物理内存数量 |
285020 used | 已经使用的物理内存数量 |
1839316 buff/cache | 作为缓冲的内存数量 |
第五行:交换分区(swap)信息
内容 | 说明 |
---|---|
Swap: 0 total | 交换分区(虚拟内存)大小 |
0 free | 空闲交换分区大小 |
0 used | 已经使用的交换分区大小 |
3335556 avail Mem | 作为缓存的交换分区大小 |
查看进程树
- pstree [选项]
- -p显示进程PID
- -u显示进程的所属用户
终止进程
-
kill -l 查看进程信号
格式
-
kill -信号代号 进程ID
-
killall [选项] [信号] 进程名
- -i 交互式,询问是否要杀死某个进程
- -大写i 忽略进程名的大小写
-
pkill[选项] [信号] 进程名 按进程名终止进程
- -t 终端号 按照终端号踢出用户