- 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 --add apachectl
重新启动 Ok!
3 Linux中的服务
要定制系统服务必须要以root用户操作。通过ntsysv命令可以看到系统所有的服务,及其是否和系统一起启动,在这里可以定制系统服务,操作 界面如下图所示,在这里可以看到测试程序autoruntest已经添加为系统服务了,并且是随着系统运行的。这里可以定制启动的服务,按F1可以看到各 个服务的介绍。后附系统服务的介绍。
ntsysv 命令用法:
空格 --选中/取消
Tab --切换确定、退出
4 服务脚本文件示例
Java代码
- #!/bin/bash
- #
- # autoruntest the shell script takes care of autoruntest auto start and stop
- #
- # chkconfig: 2345 20 80
- # 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
- # Source function library.
- . /etc/rc.d/init.d/functions
- if ! [ -x $EXEC_PATH/$EXEC ] ; then
- echo "ERROR: $EXEC_PATH/$EXEC not found"
- exit 1
- fi