Linux 注册系统服务
像mysql,ssh这些我们都可以用service mysqld start类似的命令来启动、关闭等,那我们如何把我们自己的程序也按照如此的方式来进行管理呢?
1.进入/etc/init.d, 建立文件 xxxd,其内容形如以下:
- #!/bin/bash
- # chkconfig: - 90 10
- # description: test service
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Source networking configuration.
- . /etc/sysconfig/network
- RETVAL=0
- # 调用service xxxd start时执行的逻辑,一般这里就调用我们的程序的启动脚本,带些必要的参数等,以启动我们的进程,然后将pid写到相应的文件中
- start() {
- echo "started"
- }
- #执行service xxxd stop时执行的逻辑,一般这里我们就找到相应的pid文件,然后kill掉相应的进程即可
- stop() {
- echo "stopped"
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart|reload)
- stop
- start
- RETVAL=$?
- ;;
- condrestart|try-restart|force-reload)
- if [ -f /var/lock/subsys/$prog ]; then
- stop
- start
- RETVAL=$?
- fi
- ;;
- status)
- echo "status"
- RETVAL=1
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
- exit 1
- esac
- exit $RETVAL
2. 顺序执行以下命令
3. 现在就可以用
等命令管理服务
chkconfig常用法: