Linux服务管理
服务一般是放置在后台运行的一个或多个进程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独立的网络服务。对于这些服务,我们可以通过运行主程序来启动或关闭服务,也可以通过系统提供的service和chkconfig来管理。
通过主程序管理服务
通过手动执行主程序来启动服务,首先要知道主程序保存的路径,例如 开机apache 服务,/usr/local/apche2/bin/apachectl start开启服务,stop停止服务。绝大多数通过源码安装的软件都需要我们手动指定路径来启动服务。
通过service管理服务
如果通过rpm或yum安装,则应用程序一般会在/etc/init.d目录下创建对应的启动脚本,我们可以通过service命令来管理服务。service命令可以调用system V 脚本并执行动作
service sshd restart /start/top/status
有时更改了服务配置后,不想停止服务的情况下来使配置生效,可以通过reload参数来重新加载配置文件,或者是你更改配置不知道新的配置是否正确,或重启服务后是否会导致服务无法启动,可以使用condrestart选项,此时系统会测试新的配置文件是否有问题,没问题的才会重启,否则不会用新配置来重启服务。
Linux操作系统正常情况下可以在六种模式(4暂时未使用)下启动并分别用数字表示,1代表关机模式,2代表无NFS网络的字符界面模式,3代表全功能字符界面模式,4暂时未定义使用,5代表图形界面模式,6代表重启模式。这些都是由system V定义的运行级别概念。每个级别都有启动和不启动的服务,通过runlevel命令查看当前所处的运行级别,通过init n来改变运行级别。
Linux下服务的启动一般由system V和xinetd控制,system V 定义init为第一个进程,pid 为1,init查看/etc/inittab中的默认运行级别启动对应服务,每个服务的启动,结束,重启操作有一个system V 脚本控制拥有固定格式。我们通过编写system v脚本来手工创建一个system V控制的服务,也可以通过自定义命令进行管理,不过system V脚本更标准。xinetd:除常驻运行的系统服务外,还有部分服务有xinetd进行控制不常驻服务,功能较简单的服务,xinetd自身作为一个常驻服务运行在后台,其控制的服务没有相应需求不会启动。xinetd会根据请求启动相应服务,xinetd使用system v方式进行管理控制。常见的xinetd服务(telnet,tftp,rsync)
xinetd安装 yum install xinetd
xinetd的配置文件 /etc/xinetd.conf
xinetd 控制的服务的配置文件保存在/etc/xinetd下与服务同名的文件(/etc/xinetd.conf/tftp)
开机启动服务
chkconfig 用来管理开机启动项,但设置开机启动时需要指定运行级别
chkconfig 指令 服务名称 on /off
--list 查询系统服务运行级别信息
--level 指定操作的运行级别,不指定级别时默认为2345级别
chkconfig --list sshd
chkconfig --list 列出所有系统服务的运行级别信息
chkconfig --level 15 sshd off
chkconfig sshd on
原文:http://www.cnblogs.com/lee201411/p/3592672.html