日期:2014-05-16  浏览次数:20641 次

设置Linux自启动服务

设置Linux自启动服务

创建Linux服务,步骤如下:
  • 1)        写服务启动脚本文件(后附例子)或者在bin下找到用于启动的命令修改,如我这里就自带的 ../bin/apachectl
  • 2)        修改脚本文件chmod 777 apachectl
  • 3)        脚本文件拷贝到 /etc/rc.d/init.d/
  • 4)        chkconfig --add apachectl 添加服务
  • 5)        重新启动(完成)

其中到了第三步后就可以使用service启动停止了,要自启动必须使用chkconfig 将服务添加到系统中。
2 如果提示"**服务不支持chkconfig"
在脚本前面加入:
#!/bin/bash
#chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61)
#description:Apache //此行必写,描述服务.

把脚本拷贝至/etc/init.d/目录下,执行命令:
Java代码
  1. #ln -s /etc/init.d/apachectl /etc/rc.d/rc3.d/S61apachectl   
  2. #ln -s /etc/init.d/apachectl /etc/rc.d/rc4.d/S61apachectl   
  3. #ln -s /etc/init.d/apachectl /etc/rc.d/rc5.d/S61apachectl   
#ln -s /etc/init.d/apachectl /etc/rc.d/rc3.d/S61apachectl #ln -s /etc/init.d/apachectl /etc/rc.d/rc4.d/S61apachectl #ln -s /etc/init.d/apachectl /etc/rc.d/rc5.d/S61apachectl

然后执行Java代码
  1. chkconfig --add apachectl  
chkconfig --add apachectl

重新启动 Ok!

3 Linux中的服务
要定制系统服务必须要以root用户操作。通过ntsysv命令可以看到系统所有的服务,及其是否和系统一起启动,在这里可以定制系统服务,操作 界面如下图所示,在这里可以看到测试程序autoruntest已经添加为系统服务了,并且是随着系统运行的。这里可以定制启动的服务,按F1可以看到各 个服务的介绍。后附系统服务的介绍。
ntsysv 命令用法:
空格 --选中/取消
Tab --切换确定、退出

4 服务脚本文件示例
Java代码
  1. #!/bin/bash  
  2. #  
  3. # autoruntest   the shell script takes care of autoruntest auto start and stop  
  4. #  
  5. # chkconfig: 2345 20 80  
  6. # description: autoruntest  
  7. # processname:     /etc/rc.d/init.d/autoruntest  
  8. EXEC_PATH=/home/robin/code  
  9. EXEC=autoruntest  
  10. PID_FILE=/var/run/autoruntest.pid  
  11. DAEMON=/home/robin/code/autoruntest  
  12. # Source function library.  
  13. . /etc/rc.d/init.d/functions  
  14. if ! [ -x $EXEC_PATH/$EXEC ] ; then  
  15. echo "ERROR: $EXEC_PATH/$EXEC not found"  
  16. exit 1  
  17. fi