如果程序没有写驱动不建议使用此自启动方案,容易阻塞开机总进程导致开不了机,可以配合nohup命令使用避免这一问题
在Ubuntu中,使用init.d文件进行开机自启动脚本的方法如下:
创建启动脚本:
在/etc/init.d/目录下创建一个新的启动脚本,命名为你的服务或应用程序的名称(例如/etc/init.d/myapp
)。
(又或者)创建启动脚本:使用文本编辑器创建一个启动脚本文件,以 .sh 结尾,并将其放置在 /etc/init.d 目录中。例如,创建名为 my-service.sh 的脚本:
sudo nano /etc/init.d/my-service.sh
编辑该脚本,并包含适当的启动、停止、重启等命令。
添加执行权限:
使用chmod命令赋予脚本执行权限:
sudo chmod +x /etc/init.d/myapp
配置服务:
使用update-rc.d命令将脚本设置为自启动服务:
sudo update-rc.d myapp defaults
启动和停止服务:
可以使用以下命令启动和停止服务:
sudo service myapp start# 启动服务
sudo service myapp stop# 停止服务
sudo service myapp restart# 重启服务
注意事项:
确保脚本开头有正确的shebang行,指定正确的解释器,例如#!/bin/bash
。
确保脚本的执行权限正确设置。
服务名称应遵循一定的命名规范,使用小写字母和数字,不含特殊字符。
配置的优先级是根据名称顺序执行,可以使用数字前缀(如S10myapp)来指定脚本的执行顺序。
如果要禁用或删除自启动脚本,可以使用update-rc.d命令进行管理:
sudo update-rc.d -f myapp remove# 移除自启动配置
请注意,Ubuntu 16.04及更高版本通常使用Systemd作为初始化系统,更推荐使用Systemd单元文件来管理开机自启动服务。以上方法适用于旧版本的Ubuntu或其他基于SysV的发行版。如果使用的是新版本的Ubuntu,请查阅相关文档来了解正确的方式。