Linux 系統服務注冊


#!/bin/bash
# chkconfig: - 90 10
# description: asr service

#設置啟動文件
startup=/home/test/src/asr_server

#設置相應的環境變量
export LD_LIBRARY_PATH=/home/test/lib:$LD_LIBRARY_PATH

start(){
    echo -n "Starting asr service:"
    RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " '{print $2}'`
    if [ -n $RETVAL ];then
        $startup
    fi
    echo "asrserver is succeessfully started up"
}

stop(){
    echo -n "Shutting down tomcat: "
    RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " '{print $2}'`
    if [ -z $RETVAL ];then
        RETVAL=`kill -9 $RETVAL`
    fi
    echo "tomcat is succeessfully shut down."
}

status(){
    RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " '{print $2}'`
    if [ -n $RETVAL ];then
        echo "asrserver is running..." 
    else
        echo "asrserver is stopped..." 
    fi
}

restart(){
    echo -n "restart asr service:"
    RETVAL=`ps -ef |grep asr_serve[r] |awk -F " " '{print $2}'`
    if [ -z $RETVAL ];then
        RETVAL=`kill -9 $RETVAL`
    fi
    $startup
    echo "asrserver is succeessfully started up"
}

case "$1" in
start)
    start
    ;;
stop)
    stop 
    ;;  
status)
    status
    ;;
restart)
    restart
    ;;
*)
    echo $"Usage: $0 {start|stop|status|restart}"
    exit 1
esac
>>service xxxd start
env: /etc/init.d/xxxd: 沒有那個文件或目錄
報錯原因:文件格式可能不正確,有可能是dos文件,也可能文件中有\r等windows轉義字符
解決方案:
1.如果文件格式不正確,那么使用Notepad工具轉碼
2.判斷文件中是否有\r這種不可見轉義字符,可以把xxxd當做shell腳本執行,執行就會報錯"行4: $'\r': 未找到命令",
解決辦法
使用vi打開文本文件
vi xxxd
命令模式下輸入
:set fileformat=unix
:wq
# chkconfig: - 90 10

2345表示系統運行級別是2,3,4或者5時都啟動此服務,該項也可以設置為"-"表示默認
20,是啟動的優先級,80是關閉的優先級,
如果啟動優先級配置的數太小時如0時,則有可能啟動不成功,
因為此時可能其依賴的網絡服務還沒有啟動,從而導致自啟動失敗。

#"#chkconfig: - 90 10" 和 "#description: xxx"是必須的,否則在運行chkconfig --add auto_run時,會報錯,描述文字可以自定義。
Linux注冊系統服務步驟
1.編寫服務腳本
2.拷貝到/etc/init.d目錄下
3.為服務腳本添加可執行權限    >>chmod a+x xxxd 4.添加到系統服務中           >>chkconfig --add xxxd 5.檢測是否添加成功           >>chkconfig --list | grep xxxd
6.設置開機啟動              >>chkconfig xxxd on
刪除系統服務命令             >>chkconfig --del xxxd

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM