2015-02-08 217 views
0

以下过程通常适用于我的启动脚本。但是,当我引入执行JAR文件的命令时,它不起作用。这个脚本在我登录时工作。但是,它不能用作启动脚本。Java JAR文件在Ubuntu的启动脚本中不执行14.04

  1. 在/etc/init.d中创建一个bash脚本(test.sh)具有以下内容:

    #!/bin/bash 
    
    pw=$(curl http://169.254.169.254/latest/meta-data/instance-id) 
    
    pwh=$(/usr/bin/java -jar PWH.jar $pw &) 
    
    echo $pwh > test.txt 
    
  2. 制作可执行脚本

  3. 在/ etc/rc中。本地,我添加以下行:

    sh /etc/init.d/test.sh 
    

注:

  1. 我做出/etc/rc.local文件中脚本的参考,因为这个脚本需要的所有服务都启动后,去年运行。

  2. 请不要问我改变进程(即在/etc/init.d/中创建脚本并从/etc/rc.local引用它),因为它适用于我的其他启动脚本。

  3. 我曾尝试在java命令前添加nohup,但它仍然无法正常工作。

感谢

回答

0

书面,有足够的信息说了什么错误。枚举的可能性太多了。

尝试在交互式shell中一次运行一个这些命令。 java命令可能会写一些标准错误,这会给你一些线索。

+0

该脚本在交互式shell中正常工作。它在启动过程中不起作用。 – ayenir 2015-02-08 02:12:13

+0

好...所以改变启动脚本来捕捉输出,以便你可以看到它在这种情况下说什么。另外,捕获正在执行的命令 - 使用“set -x”。您没有提供足够的上下文来让别人说出正在发生的事情。除非您提供更多信息,否则只有您可以调试它。 – 2015-02-08 02:19:09

+0

*“请不要问我改变进程(即,在/etc/init.d/中创建脚本并从/etc/rc.local中引用它),因为它适用于我的其他启动脚本”* - 它是由你决定。但如果你不准备这样做,我怀疑你是否会解决你的问题! – 2015-02-08 02:22:19