2015-02-08 209 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