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

66

我希望在Ubuntu系统启动时,能够在后台运行一些Java程序。我尝试将脚本添加到/etc/init.d目录中,但无法启动程序,即程序未启动。我该怎么做?


2
应该移动到http://askubuntu.com/。 - Ocaso Protal
1
or move to superuser - Chuck Dries
如何在启动时运行脚本 - Ciro Santilli OurBigBook.com
1个回答

95

首先,将启动项添加到文件 /etc/rc.local 是最简单的方法。

另一个简单的方法是在你的 crontab 中使用 @reboot。详细信息请参阅 cron manpage。

但是,如果你想做正确的事情,除了将脚本添加到 /etc/init.d,还需要告诉 Ubuntu 脚本应该在何时以及使用什么参数运行。这可以通过命令 update-rc.d 来完成,它会在一些 /etc/rc* 目录中创建符号链接到你的脚本。因此,你需要执行类似如下的操作:

update-rc.d yourscriptname start 2

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


但是我的Java文件应该放在哪里呢?我已经创建了一个带有无限循环的简单Java程序。然后将javac和java命令放在/etc/rc.local中,然后重新启动系统,但程序没有运行。该怎么办? - Anand Soni
感谢完成。我已经在 /etc/init.d 中创建了一个服务,并在 rc.local 中启动了该服务。 - Anand Soni
在Ubuntu中不存在“rc-update”。请使用“update-rc.d <basename> start|stop NN runlevel [runlevel]”代替。将“<basename>”替换为您的脚本名称,“NN”替换为脚本在指定运行级别内运行的顺序。有关Ubuntu / Debian中运行级别的更多信息,请参见http://en.wikipedia.org/wiki/Runlevel#Debian_Linux。 - c.hill
或者使用 update-rc.d yourscriptname defaults 一次性创建启动和停止脚本。 - ychaouche
我在cron和crontab的手册页面上都没有看到“boot”的提及。 - Rani Kheir
需要在启动时启动应用程序的人们,请查看此链接:https://askubuntu.com/a/140713/668801! - Niket Pathak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接