Shell 如何在Ubuntu启动时运行脚本?

Shell 如何在Ubuntu启动时运行脚本?,shell,ubuntu-11.04,Shell,Ubuntu 11.04,当系统在Ubuntu中启动时,我想在后台运行一些Java程序。我试图在/etc/init.d目录中添加脚本,但启动程序失败。i、 e程序未启动。我应该怎么做呢?首先,在启动时运行东西最简单的方法是将它们添加到文件/etc/rc.local中 另一个简单的方法是在crontab中使用@reboot。有关详细信息,请阅读cron手册页 然而,如果你想正确地执行任务,除了在/etc/init.d中添加脚本外,你还需要告诉ubuntu脚本应该在什么时候运行,以及使用什么参数。这是通过命令updaterc

当系统在Ubuntu中启动时,我想在后台运行一些Java程序。我试图在/etc/init.d目录中添加脚本,但启动程序失败。i、 e程序未启动。我应该怎么做呢?

首先,在启动时运行东西最简单的方法是将它们添加到文件
/etc/rc.local

另一个简单的方法是在crontab中使用
@reboot
。有关详细信息,请阅读cron手册页

然而,如果你想正确地执行任务,除了在
/etc/init.d
中添加脚本外,你还需要告诉ubuntu脚本应该在什么时候运行,以及使用什么参数。这是通过命令
updaterc.d
完成的,该命令创建了一个从一些
/etc/rc*
目录到脚本的符号链接。所以,你需要做一些类似的事情:

update-rc.d yourscriptname start 2

但是,真正的init脚本应该能够处理各种命令行选项,并集成到启动过程中。文件
/etc/init.d/README
包含一些详细信息和进一步的指针。

应该移动到或移动到superuserrelated,但是我的java文件应该放在哪里?我用无限循环创建了简单的java程序。然后javac和java命令放入/etc/rc.local,然后我重新启动了我的系统,但程序没有运行。该怎么办?谢谢你的帮助。我在/etc/init.d中创建了一个服务,然后在rc.local中启动了服务。
rc update
在Ubuntu中不存在。改用
更新rc.d start | stop NN runlevel[runlevel]
。将
替换为脚本名称,
NN
替换为脚本运行的顺序(在指定的运行级别内)。有关Ubuntu/DebianOr
中运行级别的更多信息,请参阅更新rc.d yourscriptname defaults
以同时创建启动脚本和终止脚本。我在cron和crontab的手册页上都没有提到“启动”。