在linux ubuntu下启动时自动运行程序

时间:2011-08-28 15:10:04

标签: linux ubuntu startup

  

可能重复:
  Linux equivalent for Windows Startup

每次启动ubuntu linux时都需要运行一个程序。所以我需要将它添加到我的启动程序列表中。只有一个问题:我需要通过终端来做。

1 个答案:

答案 0 :(得分:181)

sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

脚本现在应该在启动时启动。请注意,此方法也适用于硬链接和符号链接(ln)。

修改

在启动过程中此时尚未设置PATH,因此始终使用绝对路径至关重要。但是,正如Steve HHH的评论中所指出的,明确声明update-rc.d命令的完整文件路径(/etc/init.d/filename)在大多数Linux版本中无效。根据{{​​3}},第二个参数是位于/etc/init.d/*的脚本。更新了以上代码以反映这一点。

另一个编辑

正如评论中指出的那样(Charles Brandt),/filename必须是init样式脚本。还提供了一个很好的模板 - manpage for update-rc.d

另一篇文章的另一个链接只是为了避免可能的链接腐烂(尽管如果GitHub死了会很难过) - https://github.com/fhd/init-script-template

还有另一个编辑

正如评论中指出的那样(由Russell Yan撰写),这仅适用于update-rc.d的默认模式。

根据update-rc.d的手册,它可以在两种模式下运行,“使用传统模式的机器将具有文件/etc/init.d/.legacy-bootordering”,在这种情况下,您必须通过序列和运行级别配置命令行参数。

上述示例的等效参数设置为

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .