每次启动 Ubuntu Linux 时,我都需要运行一个程序。所以我需要将它添加到我的启动程序列表中。只有一个问题:我需要通过终端来完成。
最佳答案
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
脚本现在应该在启动时启动。请注意,此方法也适用于硬链接(hard link)和符号链接(symbolic link) (ln
)。
此时在引导过程中 PATH 尚未设置,因此在整个过程中使用绝对路径至关重要。 但是,正如 Steve HHH 在评论中指出的那样,明确声明 update-rc.d 命令的完整文件路径 (/etc/init.d/filename
)在大多数 Linux 版本中无效。根据 manpage for update-rc.d ,第二个参数是一个位于/etc/init.d/*
的脚本。
正如评论中所指出的(由 Charles Brandt),/filename
必须是一个 init 风格的脚本。还提供了一个很好的模板 - System V init script template .
正如评论中所指出的(Russell Yan),这仅适用于 update-rc.d 的默认模式。
根据update-rc.d的手册,它可以在两种模式下运行:“使用legacy模式的机器会有一个文件/etc/init.d/.legacy-bootordering
",在这种情况下,您必须通过命令行参数传递序列和运行级别配置。
上面例子的等效参数集是
sudo update-rc.d 文件名开始 20 2 3 4 5 。停止 20 0 1 6 .
关于linux - Linux Ubuntu下启动时自动运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221757/