开机自启动配置
设置自启动Service
创建启动脚本
使用任何文本编辑器,在/etc/init.d目录下创建一个新的启动脚本,假设命名为your_script_name,以下是示例脚本的参考内容:
#!/bin/bash
### BEGIN INIT INFO
# Provides: your_service_name
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start your_service_name at boot time
# Description: Enable service provided by your_service_name
### END INIT INFO
/path/to/your/program &
exit 0
设置启动脚本具有可执行权限
使用update-rc.d命令将脚本添加到系统的启动项中
使用systemctl命令启用自启动
重启开发板验证自启动服务程序是否运行正常
root@ubuntu:~# systemctl status your_script_name.service
● your_script_name.service - LSB: Start your_service_name at boot time
Loaded: loaded (/etc/init.d/your_script_name; generated)
Active: active (exited) since Wed 2023-04-19 15:01:12 CST; 57s ago
Docs: man:systemd-sysv-generator(8)
Process: 2768 ExecStart=/etc/init.d/your_script_name start (code=exited, status=0/SUCCESS)
添加到rc.local服务
rc.local是一个系统服务,用于在系统启动时自动执行一些脚本或命令。这个服务在系统启动时会被自动调用,并在系统启动完成后执行一些用户指定的脚本或命令,以便在系统启动时进行自定义配置或操作。
在早期的Linux发行版中,rc.local是系统启动过程中默认运行的最后一个服务。随着systemd的普及,rc.local被视为遗留的系统服务。
通过在sudo vim /etc/rc.local文件末尾添加启动命令的方式实现,例如:
#!/bin/bash -e
#
# rc.local
#re
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Insert what you need
exit 0
OriginMan 开机自启动预留接口
在root目录下,有一个start.sh的shell脚本,已经内置了每当打开OriginMan的电源开关,都会自动运行start.sh中的内容,如果用户需要做其他开发可以基于此进行加工。
Attention
不要在其中放置阻塞线程的代码,不然会卡在某一个节点或者程序,无法执行下一段内容。