如何创建 init.d 启动脚本

如何创建 init.d 启动脚本

我只想在启动时运行一个非常简单的命令。我该怎么做?我在谷歌上搜索过,里面有非常复杂的例子,但我需要的只是在启动时运行这个脚本。我该怎么做?

脚本

./init.d/opscenter-agent start

答案1

如果你想这样做系统启动时(与登录计算机时相反),将您想要运行的命令放入其中/etc/rc.local

[Ubuntu] 在启动和关闭时执行脚本

答案2

如果脚本不需要由root运行,可以这样做:

1)打开“启动应用程序偏好设置”(Alt+F2并粘贴gnome-session-properties并点击Enter),

2)按“添加”并选择您的脚本:

在此处输入图片描述

在此处输入图片描述


如果您没有使用图形环境,您可以将命令放在exit 0此文件中的行前:/etc/rc.local。(要编辑它,只需在终端粘贴即可sudo nano /etc/rc.local

答案3

/etc/rc.local 方法将“在启动时运行一个非常简单的命令”,但它不是 init.d 脚本方法,并且在很多方面都不如 init.d 脚本。(这可能无关紧要,取决于您的目的)。

与 init.d 脚本不同,rc.local 命令不提供启动和停止进程的标准接口,并且它们无法影响启动过程中的运行时间。您可以在脚本中看到,/etc/init.d/rc.local该命令在其他所有命令之后运行(Required-Start: $all)。

如果您确实需要 init.d 脚本,那么通常只需获取现有脚本、复制并编辑即可,尽管某些现有脚本的复杂性超出您的预期。由于大多数 init.d 脚本都是通过这种方式启动的,因此 ubuntu 提供了 /etc/init.d/skeleton 来实现此目的。

同样值得一看:

  • /etc/init.d/motd是一个最小示例,它在启动时运行某些操作,但带有Required-Start应在何时运行的参数设置。
  • /etc/init.d/cron是守护进程的简单起点(提供或获取parse_environment您可能不需要的功能)。

相关内容