2011-12-01 77 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中的运行级别的更多信息 –

相关问题