2016-04-03 12 views
0

我需要在系統引導(Linux-Debian)後通過.sh腳本啓動我的Wildfly AS。所以,我創建了自己的腳本,應該做它的init.d:debian init.d腳本在重新啓動後沒有運行

#! /bin/sh 
# /etc/init.d/starter 

case "$1" in 
    start) 
    echo "Starting" 
    nohup /home/xxx/wildfly-9.0.1.Final/bin/standalone.sh & 
    ;; 
    stop) 
    echo "Stopping" 
    /home/xxx/wildfly-9.0.1.Final/bin/jboss-cli.sh --connect command=:shutdown 
    ;; 
    *) 
    echo "Usage: /etc/init.d/starter {start|stop}" 
    exit 1 
    ;; 
esac 
exit 0 

工作,如果我用我自己的:/etc/init.d/starter start

然後我用命令創建符號鏈接:update-rc.d starter defaults。象預期的那樣創建符號鏈接,但在執行reboot命令後腳本不會執行。

有人知道什麼阻止我的腳本在啓動後被執行嗎?感謝您的建議。

+0

哪個版本的Debian? Debian v6或更高版本將* update-rc.d *替換爲* inserve * ...請參閱Debian Wiki [使用基於依賴關係的引導時如何添加服務](https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot) – agc

+0

@agc謝謝您的回覆。我跑8.3。在man insserv中,我讀到:「不建議直接執行insserv,除非您確切知道自己在做什麼,否則可能導致引導系統無法運行。update-rc.d是管理init腳本的推薦接口。」所以這不是問題。 –

+0

對不起 - 我錯過了。嗯,權限,也許。在這個輸出中是否有任何異常:** find /etc/rc?.d/ -name'* starter'-exec ls -l'{}'\; ; ls -l /etc/init.d/starter**通常,每個鏈接應該由* root *擁有,並且是文件模式'lrwxrwxrwx(0777)',文件本身具有模式'-rwxrwxr-x(0775)'。 – agc

回答

0

問題是,我不知道初始腳本必須設置自己的$ PATH和其他變量。當我看到java時發現它:在/ var/log/daemon中找不到。最後,我發現野蠅有自己的修改init-debian.sh。我用它,它的工作原理。

相關問題