Linux服务的管理
1.Linux服务的介绍
系统服务
--某些服务的服务的对象是Linux系统本身,或者Linux系统系统用户,这类服务我们称为系统服务(System Service)
网络服务
--提供给网络中的其他客户端(Client)调用使用的服务,这类的服务我们统称为网络服务(Networking Service)
按照服务启动的方法又可分为
独立系统服务
--服务一经启动,除非关闭系统或者手动关闭,否则都在后台执行,不管有没有用到,这样的服务我们称为独立系统服务(Sys V Service)
临时服务
--临时服务(Transient Service)平时不会启动,当客户端需要时才会启动,使用完毕就会结束。
2.服务管理
linux特别的为每一个独立式的服务提供了一个服务程序启动文件(Service Startup Script)
所有的启动文件被存放在/etc/rc.d/init.d目录下
(如果参数不能用,试试绝对路径进行动作)
启动文件的动作参数如下:
start 启动服务
stop 停止服务
restart 重新启动服务
reload 重载配置文件,在服务一经启动的情况下
condrestart 有条件的重新启动,这个服务必须是已经启动的,才会被重新启动;如果这个服务尚未启动,则无需启动。
status 查看服务的状态
使用service 管理服务
语法: service 服务名 action
参数:
start
stop
status
3.守护进程
inetd是一个特殊的程序,不断的监控所有通讯端口。一但有客户端调用某一个启动文件时,这个程序就要负责启动该服务;而在客户端使用完毕后,该程序也必须负责结束。
守护进程服务位置:/etc/xinetd.d
service xinetd start/stop/status
4.服务的自启动
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
使用语法:chkconfig [--add][--del][--list][系统服务]或chkconfig [--level <等级代号>][系统服务][on/off/reset]
参数用法:
--add 增加所指定的系统服务,让chkconfig指令得以管理它,并在系统启动的叙述文件内增加相关数据。
--del 删除所指定的系统服务,不再由chkconfig指令管理,并在系统启动的叙述文件内删除相关数据。
--level<等级代号>指定读系统服务要在哪一个执行等级中开启或关毕。(可以看之前的运行等级介绍)
需要说明的是,level 选项可以指定要查看的运行级而不一定是当前运行级。对
于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init 不会
重新启动已经启动的服务,也不会再次去停止已经停止的服务。
chkconfig --list [name]:显示所有运行级系统服务的运行状态信息(on 或
off)。如果指定了 name,那么只显示指定的服务在不同运行级的状态。
chkconfig --add name:增加一项新的服务。chkconfig 确保每个运行级有一项
启动(S)或者杀死(K)入口。如有缺少,则会从缺省的 init 脚本自动建立。
chkconfig --del name:删除服务,并把相关符号连接从/etc/rc[0-6].d 删除。
chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,停止
还是重置。
使用范例:
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加 httpd 服务
chkconfig --del httpd #删除 httpd 服务
chkconfig --list #列出系统所有的服务启劢情况
chkconfig --list mysqld #列出 mysqld 服务设置情况
chkconfig --level 35 mysqld on #设定 mysqld 在等级 3 和 5 为开机运行服务,-
-level 35 表示操作只在等级 3 和 5 执行,on 表示启劢,off 表示关闭
chkconfig mysqld on #设定 mysqld 在各等级为 on,“各等级”包括 2、3、4、5
等级