|
经常有自己在linux平台的应用,需要设置其在系统重启时自启动, 通常的做法是自己写个shell,用S或K开头放置到/etc/rc.d/rcx.d的相应目录下 但如果通过把它注册成一个服务,即可以提供方便的启动和服务管理。
例如,proxy用户有一个proxy的应用需要自启动:
1、我们首先用proxy用户,写好两个shell startpxy.sh 和 stoppxy.sh,分别用于启动和关闭相关的服务程序
2、我们用root用户,在/etc/init.d下,编译一下proxy的shell 这个shell关键前面要提供两行注释的信息: 第一行说明启动的运行级别,启动优先级,关闭优先级 第二行是对该服务的一个描述,我们的例子如下:
# chkconfig: 35 99 99 # description: Proxy service
3、自行处理启动、关闭和重启的过程,由于是root用户,关键是要转成相应的用户 运行程序,我们可以用sudo su - 用户 -c 进程来处理,实例如下:
# config system enviroment
source /etc/profile source /home/proxy/.bash_profile case "$1" in start) date >> ${START_LOG} sudo su - proxy-c /home/proxy/bin/startpxy.sh >> ${START_LOG} ${out} "[INFO] Proxy Service started." date >> ${START_LOG} ${out} "[INFO] Proxy Service started." >> ${START_LOG} ;; stop) date >> ${STOP_LOG} sudo su - proxy-c /home/proxy/bin/stoppxy.sh >> ${STOP_LOG} ${out} "[INFO] Proxy Service stoped." date >> ${STOP_LOG} ${out} "[INFO] Proxy Service stoped." >> ${STOP_LOG} ;; restart) $0 stop $0 start ;; *) echo "Usage: proxy {start|stop|restart}" exit 1 ;; esac
4、把它加入service服务: chkconfig --add proxy
5、测试是否可用: # service proxy start [INFO] Proxy Service started. # service proxy stop [INFO] Proxy Service stoped # service proxy restart [INFO] Proxy Service stoped. [INFO] Proxy Service started. 由于我们配置了3和5启动,在/etc/rc.d/rc3.d和/etc/rc.d/rc5.d都可以看到相应的链接: S99proxy 用chkconfig检测,也可以看到:
#chkconfig --list|grep proxy proxy 0:off 1:off 2:off 3:on 4:off 5:on 6:off
6、更改启动级别,例如想4时启动,5时不启动,则
#chkconfig --level 4 proxy on#chkconfig --level 5 proxy off
7、如果我想关闭服务:
chkconfig --del proxy
|
一共有 1 条评论