2016-07-07 296 views
2

我嘗試在基於yocto的linux設備啓動時執行java應用程序。我在/etc/init.d/etic上添加了一個腳本並使其可執行。如果我在shell /etc/init.d/etic start/etc/init.d/etic stop上調用,則應用程序按預期啓動並停止。然後我調用shell update-rc.d etic defaults並創建了符號鏈接。根據我在網上發現的情況,這應該足夠了,但不知何故應用程序不會啓動。我錯過了什麼?我怎麼能檢查什麼是錯誤的,或者是否有任何我應該嘗試擴展的最小范例?在Linux啓動時啓動腳本

+1

如果符號鏈接已創建,那應該就足夠了。嘗試讓你的init腳本記錄發生了什麼。當使用sysvinit運行時,可能PATH沒有正確/完全設置? – Anders

+0

該應用是否有UI? – jku

+0

@Anders你的意思是哪一個日誌,來自我的劇本?對於我使用java的路徑,我將'PATH = $ PATH:/ usr/java/bin'添加到我的腳本中。 – Semaphor

回答

1

好的,與從init系統運行時相比,這種問題往往是由於手動執行啓動腳本時環境不同所致。例如,從init系統運行時,您的.profile.bashrc將不會被採購。

您可以使用例如logger來輕鬆記錄init腳本中的內容,而這很容易找出問題所在。