linux - Linux Ubuntu 下启动时自动运行程序

标签 linux ubuntu startup

每次启动 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/24205432/

相关文章:

Linux 平台中的 C++ 编程

linux - 如何使用 `grep` 选择列 > 1 的行?

python - 错误 : While importing 'wsgi' , 引发了 ImportError。 Python flask Ubuntu 20.04

java - @PostConstruct 在简单的@Singleton @Startup bean 上调用了两次

php - 如何更改 $_POST php 数组的大小?

android - 启动失败 : Internal Error when starting Android Studio on ubuntu

regex - sed 正则表达式中的转义加号

java - 在 Windows 启动时运行 Java 应用程序

java - pyspark无法启动

c - 我对读取事件的 inotify_add_watch 有疑问