在系统启动期间运行脚本

在系统启动期间运行脚本

我想在系统初始化时运行一个脚本。为此,我将测试脚本放在标准系统初始化目录中(如所述这里):

/etc/rc.d/rc.test
/etc/rc.d/rc3.d/rc.test
/etc/rc.d/init.d/rc.test

但这些都不起作用。我的测试脚本在系统启动时没有运行。

我正在运行 Slackware 4.4.14

答案1

创建自定义 SysV init 启动脚本时,必须正确完成几件事。首先,它们必须位于正确的目录中。通常,init 脚本放在 /etc/init.d 或 /etc/rc.d 或 /etc/init.d/rc.d 中,无论您的 OS 发行版使用哪个目录。然后,必须在正确的运行级别目录中创​​建正确名称的符号链接。您可以检查 /etc/inittab 中是否有包含 default 或 defaultinit 或类似单词的行。那里有一个数字。它将告诉您系统启动时的默认运行级别。例如,对于大多数系统,默认运行级别是 5。这意味着符号链接需要进入 /etc/rc5.d、/etc/init.d/rc5.d 或类似目录。该链接需要以 S 开头,后跟 2 位数字,然后是您想要的任何名称。例如,/etc/rc.d/rc5.d/S99rc.test 将是到 /etc/rc.d/init.d/rc.test 的符号链接。

chkconfig 工具可以为您完成所有这些工作。您的脚本需要有一组特定的注释才能使 chkconfig 正常工作。查看 chkconfig 手册页了解更多信息。

希望这可以帮助。

相关内容