2011-12-01 95 views
45

我想在Ubuntu系統啓動時在後臺運行一些Java程序。我曾嘗試在/etc/init.d目錄中添加腳本,但未能啓動程序。即程序不啓動。我該怎麼做?如何在Ubuntu啓動時運行腳本?

+1

應該移動到http://askubuntu.com/ –

+1

或移動到超級用戶 –

回答

69

首先,在啓動時運行最簡單的方法是將它們添加到文件/etc/rc.local

另一個簡單的方法是在你的crontab中使用@reboot。有關詳細信息,請閱讀cron手冊頁。

但是,如果你想正確地做事情,除了添加一個腳本到/etc/init.d你需要告訴Ubuntu何時應該運行腳本和什麼參數。這是通過命令update-rc.d完成的,該命令創建了一些/etc/rc*目錄中的符號鏈接到您的腳本。所以,你需要做的是這樣的:

update-rc.d yourscriptname start 2 

然而,真正的init腳本應該能夠處理各種命令行選項,否則集成到啓動過程。文件/etc/init.d/README有一些細節和進一步的指針。

+0

但我的java文件放置在哪裏?我用無限循環創建了簡單的java程序。然後將javac和java命令放入/etc/rc.local中,然後重新啓動系統,但程序未運行。該怎麼辦? –

+0

感謝它的完成。我在/etc/init.d中創建了一個服務,然後在rc.local中啓動服務。 –

+0

Ubuntu中不存在'rc-update'。代之以使用'update-rc.d start | stop NN runlevel [runlevel]'。將腳本名稱'NN'替換爲'',腳本的運行順序(在指定的運行級別內)。請參閱http://en.wikipedia.org/wiki/Runlevel#Debian_Linux以獲得關於Ubuntu/Debian中的運行級別的更多信息 –