歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

注冊程序為Linux系統服務並設置成自啟動

這裡以Red Hat linux 為例,   設置某個JAVA程序為系統服務, 通過service命令進行管理, 並跟隨系統自行啟動.

1.  先將自己的程序寫入SH腳本, 便於管理.

如: java -server -cp .:./lib/* com.test.Startup 

2. 進入/etc/init.d目錄, 新建文件, 以自己的程序命名, 如: erp

內容如下:

  1. #!/bin/sh  
  2. # chkconfig: 35 99 1  
  3. #  
  4. # description: ERP service  
  5. #  
  6.   
  7.   
  8. ERP_HOME=/data/falconprobuf  
  9.    
  10.   
  11. RETVAL=0  
  12.   
  13. ERP_PORT=8099  
  14.    
  15.   
  16. # start and stop functions  
  17.   
  18. start() {  
  19.   
  20.     pids=`netstat -lnp | grep $ERP_PORT |awk '{print $7 }'`  
  21.     pids=${pids%/*}  
  22.     if [ -n "$pids" ]; then  
  23.       
  24.          echo  "ERP SERVICE ALREADY START "  
  25.     else  
  26.      echo "START ERP SERVICE "  
  27.     
  28.         cd $ERP_HOME  
  29.     
  30.         ./startup.sh &    
  31.   
  32.         echo  
  33.   
  34.     fi  
  35.       
  36.      
  37. }  
  38.   
  39.    
  40.   
  41. stop() {  
  42.   
  43.       
  44.      pids=`netstat -lnp | grep $ERP_PORT |awk '{print $7 }'`  
  45.      pids=${pids%/*}  
  46.     if [ -n "$pids" ]; then  
  47.     echo  "STOP ERP SERVICE "  
  48.             kill -9 $pids  
  49.     echo  "STOP ERP SUCCESS "  
  50.      else  
  51.     echo  "ERP SERVICE ALREADY STOP "  
  52.   
  53.     fi  
  54.       
  55.   
  56. }  
  57.   
  58.    
  59.   
  60. # See how we were called.  
  61.   
  62. case "$1" in  
  63.   
  64.   start)  
  65.   
  66.         start  
  67.   
  68.         ;;  
  69.   
  70.   stop)  
  71.   
  72.         stop  
  73.   
  74.         ;;  
  75.   
  76.   restart)  
  77.   
  78.         stop  
  79.   
  80.         sleep 2          
  81.   
  82.         start  
  83.   
  84.         ;;  
  85.   
  86.   *)  
  87.   
  88.         echo "Usage: $0 {start|stop|restart}"  
  89.   
  90.         exit 1  
  91.   
  92. esac  

① 注意第二行: # chkconfig: 35 99 1
這個需要加上, 因為後面要設置成自啟動方式.
② ./startup.sh &

加上&, 掛入後台運行, 不會影響當前的連接會話.

這裡沒有使用全路徑,  因為執行腳本裡面使用了相對路徑, 會找不到相應的JAR包,

解決辦法是先跳入目錄, cd $ERP_HOME, 再執行腳本.

③ERP_PORT=8099
設置端口, 通過端口過濾的方式來結束程序, 會更為准確, 不會干擾其他的程序運行.

3. 確認服務文件的執行權限,  執行chmod +x erp  不需重啟, 這時可通過SERVCE start|stop|restart 方式進行服務管理.

最後執行chkconfig --add erp 列入運行服務,   完成配置.

Copyright © Linux教程網 All Rights Reserved