如何在Ubuntu启动时运行脚本?[关闭]


67

当系统在Ubuntu中启动时,我想在后台运行一些Java程序。我试图在/etc/init.d目录中添加脚本,但是无法启动程序。即程序未启动。我该怎么办?



1
或移至超级用户
Chuck Dries

Answers:


94

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

另一种简单的方法是@reboot在crontab中使用。阅读cron手册以获取详细信息。

但是,如果您想做正确的事情,除了向其中添加脚本之外,/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,然后重新启动系统,但程序未运行。该怎么办?
阿南德·索尼

感谢完成。我已经在/etc/init.d中创建了一个服务,然后在rc.local中启动了服务。
阿南德·索尼

rc-update在Ubuntu中不存在。使用update-rc.d <basename> start|stop NN runlevel [runlevel]代替。用<basename>脚本名称NN和脚本运行的顺序(在指定的运行级别内)替换。有关Ubuntu / Debian中运行级别的详细信息,请参见en.wikipedia.org/wiki/Runlevel#Debian_Linux
c.hill 2014年

或者update-rc.d yourscriptname defaults一次创建启动和终止脚本。
ychaouche 2015年

在cron和crontab的手册页上的任何地方都没有提到“引导”。
拉尼·凯尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.