Linux 注册系统服务

时间:2023-01-28 16:08:02

Linux 注册系统服务

 

像mysql,ssh这些我们都可以用service mysqld start类似的命令来启动、关闭等,那我们如何把我们自己的程序也按照如此的方式来进行管理呢?

 

1.进入/etc/init.d, 建立文件 xxxd,其内容形如以下:

Shell代码 
  1. #!/bin/bash  
  2. # chkconfig: - 90 10  
  3. # description: test service  
  4. # Source function library.  
  5. . /etc/rc.d/init.d/functions  
  6.   
  7. # Source networking configuration.  
  8. . /etc/sysconfig/network  
  9.   
  10. RETVAL=0  
  11.   
  12.   
  13. # 调用service xxxd start时执行的逻辑,一般这里就调用我们的程序的启动脚本,带些必要的参数等,以启动我们的进程,然后将pid写到相应的文件中  
  14. start() {  
  15.     echo "started"  
  16. }  
  17.   
  18. #执行service xxxd stop时执行的逻辑,一般这里我们就找到相应的pid文件,然后kill掉相应的进程即可  
  19. stop() {  
  20.     echo "stopped"  
  21. }  
  22.   
  23. # See how we were called.  
  24. case "$1" in  
  25.   start)  
  26.         start  
  27.         ;;  
  28.   stop)  
  29.         stop  
  30.         ;;  
  31.   restart|reload)  
  32.         stop  
  33.         start  
  34.         RETVAL=$?  
  35.         ;;  
  36.   condrestart|try-restart|force-reload)  
  37.         if [ -f /var/lock/subsys/$prog ]; then  
  38.             stop  
  39.             start  
  40.             RETVAL=$?  
  41.         fi  
  42.         ;;  
  43.   status)  
  44.         echo "status"  
  45.         RETVAL=1  
  46.         ;;  
  47.   *)  
  48.         echo $"Usage: $0 {start|stop|restart|try-restart|force-reload|status}"  
  49.         exit 1  
  50. esac  
  51.   
  52. exit $RETVAL  

 

 

2. 顺序执行以下命令

Linux 注册系统服务
 

3. 现在就可以用

Linux 注册系统服务

 等命令管理服务

 

 

chkconfig常用法:


Linux 注册系统服务