我需要一个程序来运行每次我启动我的 Ubuntu Linux。所以我需要把它添加到我的启动程序列表中。只有一个问题: 我需要通过终端做到这一点。
sudo mv /filename /etc/init.d/ sudo chmod +x /etc/init.d/filename sudo update-rc.d filename defaults
脚本现在应该在引导时启动。注意,这个方法也适用于硬链接和符号链接(ln)。
ln
在引导过程的这一点上,PATH 还没有设置,因此在整个引导过程中使用绝对路径是非常关键的。正如 Steve HHH 在注释中指出的那样,但是显式声明 update-rc 的完整文件路径(/etc/init.d/filename)。D 命令在大多数 Linux 版本中无效。根据 用于 update-rc.d 的手册,第二个参数是位于 /etc/init.d/*中的脚本。
/etc/init.d/filename
/etc/init.d/*
正如查尔斯 · 勃兰特在评论中指出的那样,/filename必须是一个 init 样式的脚本。还提供了一个很好的模板 -< a href = “ https://github.com/fhd/init-script-template”rel = “ nofollow norefrer”> System V init script template 。
/filename
正如 Russell Yan 在评论中指出的那样,这只适用于 更新的默认模式。
根据更新手册。D,它可以在两种模式下运行: “使用遗留模式的机器将有一个文件 /etc/init.d/.legacy-bootordering”,在这种情况下,您必须通过命令行参数传递序列和运行级配置。
/etc/init.d/.legacy-bootordering
上面示例的等效参数集是
sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .