- 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代码
- #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代码
- chkconfig--addapachectl
重新启动 Ok!
3 Linux中的服务
要定制系统服务必须要以root用户操作。通过ntsysv命令可以看到系统所有的服务,及其是否和系统一起启动,在这里可以定制系统服务,操作 界面如下图所示,在这里可以看到测试程序autoruntest已经添加为系统服务了,并且是随着系统运行的。这里可以定制启动的服务,按F1可以看到各 个服务的介绍。后附系统服务的介绍。
ntsysv 命令用法:
空格 --选中/取消
Tab --切换确定、退出
4 服务脚本文件示例
Java代码
- #!/bin/bash
- #
- #autoruntesttheshellscripttakescareofautoruntestautostartandstop
- #
- #chkconfig:23452080
- #description:autoruntest
- #processname:/etc/rc.d/init.d/autoruntest
- EXEC_PATH=/home/robin/code
- EXEC=autoruntest
- PID_FILE=/var/run/autoruntest.pid
- DAEMON=/home/robin/code/autoruntest
- #Sourcefunctionlibrary.
- ./etc/rc.d/init.d/functions
- if![-x$EXEC_PATH/$EXEC];then
- echo"ERROR:$EXEC_PATH/$EXECnotfound"
- exit1
- fi
- stop()
- {
- echo"Stoping$EXEC..."
- killall$DAEMON>/dev/null
- usleep100
- echo"Shuttingdown$EXEC:[OK]"
- }
- start()
- {
- echo"Starting$EXEC..."
- $DAEMON>/dev/null&
- usleep100
- echo"Starting$EXEC:[OK]"
- }
- restart()
- {
- stop
- start
- }
- case"$1"in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- status)
- status-p$PID_FILE$DAEMON
- ;;
- *)
- echo"Usage:service$EXEC{start|stop|restart|status}"
- exit1
- esac
- exit$?
- vc