linux service

一 服务启动顺序
讲开机启动脚本前,先要了解init这个由内核启动的用户级的进程,他的pid始终为1.这些开机启动脚本全部是通过它来启动的
第一步:
/etc/rc.d/rc.sysinit             init执行的第一个脚本 这个脚本主要是初始化工作,如设置系统字体,启动swapping,设置主机名,装载声卡模块等等

第二步:
/etc/rc.d/rcx.d                #启动各个运行级别脚本
(这里就是存放在/etc/目录下那7个目录rc0.d,rc1.d,rc2.d…rc6.d,这7个目录对于7个级别,rc0.d表示关机级别,因为他前面数字是0)
这个就是你通过chkconfig这个命令来控制开机启动各个级别要执行的程序。其实他就是在这一步的动作

第三步:
/etc/rc.d/rc.local    #相应级别服务启动之后、这是最后一个执行的脚本(这里就可以放入你想启动的任何程序)

第四步:
/sbin/mingetty # 等待用户登录

二 在 rc3.d/中K开头的代表不启动,S开头的服务器代表启动。如下

[root@sccdatanluat03 ccdep]# chkconfig --level 3 crond on
[root@sccdatanluat03 ccdep]# chkconfig --list crond
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@sccdatanluat03 ccdep]# cd /etc/rc3.d/
[root@sccdatanluat03 rc3.d]# ll|grep K60
[root@sccdatanluat03 rc3.d]# ll|grep S90  ##这时候crond是在这个level下是自动启动的所以有个S90crond的软链接
lrwxrwxrwx  1 root root 15 Sep  7 13:36 S90crond -> ../init.d/crond
[root@sccdatanluat03 rc3.d]# chkconfig --level 3 crond off
[root@sccdatanluat03 rc3.d]# ll|grep K60    ##这时候crond是在这个level下是不启动的所以有个K60crond的软链接
lrwxrwxrwx  1 root root 15 Sep  7 13:36 K60crond -> ../init.d/crond
[root@sccdatanluat03 rc3.d]# ll|grep S90
[root@sccdatanluat03 rc3.d]# chkconfig --list crond
crond           0:off   1:off   2:on    3:off   4:on    5:on    6:off

三 linux添加服务

1.按一定的规则编写服务脚本,比如:myserviced
#!/bin/sh
#chkconfig: 2345 80 05
#description: myservice
case $1 in
start)
    echo "myservice startup" #将该行替换成你自己的服务启动命令
    ;;
stop)
    echo "myservice stop" #将该行替换成你自己服务的启动命令
    ;;
restart)
    echo "myservice stop" #...
    echo "myservice startup" #...
    ;;
*)
    ;;
esac

命令解析:
# chkconfig: 2345 80 5
2345表示服务的运行级别,80代表Start的顺序,05代表Kill(Stop)的顺序;
# description: service_description
该服务的描述

2.将编写的脚本放到/etc/init.d/,将myserviced的访问权限加上“可执行”
chmod +x myserviced

3.增加服务
chkconfig --add myserviced
4.启停服务 service myserviced start service myserviced stop
服务添加完成
可以用:chkconfig --list查看当前系统的服务
可以用:chkconfig --del myserviced删除服务

posted on 2017-02-04 14:26  石下江的太阳光  阅读(161)  评论(0编辑  收藏  举报

导航