前几天学会了如何通过串口来通信树莓派与STM32,并成功点灯,最近想着如何实现自动启动通信程序,查找了许多资料,在此记录一下错误解决与实现。
一、 新建脚本,将脚本添加到启动脚本(推荐,可控,而且非常清楚) 1.1 在/etc/init.d/ 下新建脚本xxx 或者 xxx.sh?
#!/bin/bash
?
# command content
?
exit 0
1.2 设置文件权限
chmod 755 xxx
报错:chmod: changing permissions of 'xxx': Operation not permitted 解决:输入指令
sudo su //更改权限
1.3 将脚本添加到启动脚本
update-rc.d xxx defaults 90
(移除开机脚本:update-rc.d -f xxx remove)
报错:insserv: warning: script 'hahaha.sh' missing LSB tags and overrides
解决:找到/etc/init.d/XXX文件,在该文件的?#!/bin/bash?行后加入如下内容:
保存后,重新运行即可。
### BEGIN INIT INFO
# Provides: XXX
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start XXX
# Description: start XXX
### END INIT INFO
3 适用于Ubuntu 和 Centos? 参考:https://blog.csdn.net/qq_35720307/article/details/87644054
在/etc/init.d编写脚本命令后,比如命名为test,然后直接运行 ?systemctl enable test ?或 systemctl enable test.service
4 查看开机启动项
systemd-analyze blame
|