2016-04-03 254 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。我用它,它的工作原理。

相关问题