一、Linux中的服务分类与管理
RPM包默认安装服务
1.独立服务
①解析:Linux中绝大多数服务都是独立的,直接在内存里。比如apache,你访问他,它直接给你响应
②优缺点:响应速度快,占用资源多。
③查看rpm包安装的服务
命令:chkconfig --list 查看rpm包自启动状态,可以查看所有安装的rpm包安装的服务。
④rpm包安装位置:
/etc/init.d 独立服务启动脚本位置
/etc/sysconfig/ 初始化环境配置文件安装位置
/etc : 配置文件位置
/etc/xinetd.d 基于xinetd的服务的启动脚本位置
/etc/var/lib 服务产生的数据放在这里
/var/log 日志放在这里
⑤独立服务的启动
学前知识:service --status -all 列出全部服务的状态
/etc/init.d/独立服务名 start|stop|status|restart
service 独立服务名 start|stop|restart|status
⑥独立服务的自启动/关闭
直接配置:
chkconfig --level 2345 on 表示自启动开启
chkconfig --level 2345 off 表示自启动关闭
修改配置文件(推荐使用):
配置文件位置:/etc/rc.d/rc.local 这相当于win中的启动项,在Linux中输入用户名密码前,这个文件会被执行。
使用ntsysv命令管理自启动
2.基于xinetd(超级守护进程)的服务
①解析:xinetd服务本身是独立的,但是Linux中,有些服务是基于xinetd的服务,你访问的时候,是访问xinetd,xinetd下面会管理一些服务。比如rsync,这是网络备份服务。你无法直接找到这服务,你要先找xinetd,由xinetd来通信这个服务。
②优缺点:速度慢,资源少
③基于xinetd的服务管理
安装xinetd:yum -y install xinetd
xinetd服务的启动目录:/etc/xinetd.d/
这个文件目录下都是基于xinetd的服务,启动就是到相应的配置文件中,把disable =yes 改成disable=no。
改了之后重启,xinted服务。
④自启动:chkconfig 服务名 no/off
源码包安装服务
查看源码包安装的服务。
查看源码包安装的位置,一般在/usr/local下
源码安装包的启动,一般都在目录中。
/usr/loca/服务名
源码包一般安装需要查看安装说明
/usr/loca/服务名/INSTALL
源码包自启动方法
/etc/rc.d/rc.local
小知识:如何把源码包跟独立包一样可以通过service启动,做个连接,把源码包启动脚本放到自启动下。
ln -s 源码包启动脚本 /etc/init.d/服务名
二、Linux中的进程
什么是进程:进程是正在运行的程序或者命令。每个进程都有自己的实体,都占用系统资源。
查看系统中的所有进程:
命令:ps aux 查看系统中的所有进程,使用unix,BSD操作系统格式。
a:查看前台进程 x:查看后台进程 u:查看进程产生的用户
ps -le 查看系统中的所有进程,使用Linux标准命令格式
l:显示详细信息 e:显示所有进程
查看系统健康状态:
命令:top 【选项】
-d:秒数,指top命令每隔几秒更新,默认三秒。
在top交互中可以使用的命令
?或h 显示交互模式的帮助
P: CPU使用率排行,也是默认排序
m: 以内存使用率排序
N: 使用Pid排序
q: 退出top
查看进程树
命令:pstree 【选项】
-p: 显示进程Pid
-u: 显示进程所属用户
终止进程
命令 : kill 【选项】Pid
-l:查看所支持的信号
1)SIGHUP 重启进程
9)SIGKILL 强制终止进程
15)SIGTERM 正常终止进程,kill默认信号
举例:kill -1 22445 重启PID为22445的进程
kill -9 22445 强制杀死PID为22445的进程
扩展:killall -9 httpd 强制杀死所有httpd进程
pkill -9 -t tty1 按照终端号来踢出用户
查看后台进程
jobs
恢复后台进程
将后台暂停进程恢复到前台执行
fg %工作号
参数:%工作号 注意:%可以省略,注意跟PID的区别
将后台暂停的进程恢复到后台进行
bg %工作号
参数:%工作号 注意:后台执行的命令是不能跟前台有交互的,否则不能执行。
三、系统定时任务
解析:Linux中是通过crond服务来完成定时任务的,crond服务默认是自启动的,而且是启动的
服务端启动和设置自启动。
重启crond service crond restart
设置自启动 chkconfig crond on
用户端设置任务
命令:crontab 【选项】
-e:编辑crontab定时任务
注意:当-e时候会进入一个vim,按照格式编写,
第一个*:代表一个小时的第几分钟,范围0-59
第二个*:代表一天中的第几个小时,范围0-23
第三个*:代表一个月中的第几天,范围0-31
第四个*;代表一年中的第几月,范围1-12
第五个*:代表一周当中的星期几,范围0-7(0和7都代表周日)
特殊符号:
* 代表任何时间
,代表不连续时间
- 代表连续范围
*/n 代表每隔多久执行一次
-l:查询crontab定时任务
-r:删除当前用户所有的crontab定时任务