Conmi的正确答案——linux创建service服务 或 可执行文件生成服务(即开机自启)
·
平台:树莓派3B
系统:树莓派buster
参考1:[开机启动]解决insserv: warning: script '服务名' missing LSB tags and overrides - 纪念流失鼠标之上的青春 (lostphp.com)
参考2:linux将可执行文件注册成服务 - 简书 (jianshu.com)
1、文件创建:
#!/bin/bash
### BEGIN INIT INFO
# Provides: conmi
# Required-Start: $local_fs $network $mysql
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: ruoyiAdmin service
# Description: ruoyiAdmin service daemon
### END INIT INFO
SERVERNAME="ruoyi-admin"
start()
{
sudo java -Xms512m -Xmx800m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar /home/pi/Other/ruoyi-admin.jar &
exit 0;
}
stop()
{
echo "stop $SERVERNAME"
killall $SERVERNAME
echo "stop $SERVERNAME ok!"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "usage: $0 start|stop|restart"
exit 0;
esac
exit
2、服务生成:
-
cp /home/pi/Other/ruoyiAdmin.sh /etc/init.d/ # 复制文件到启动文件夹下 -
chmod +x /etc/init.d/ruoyiAdmin.sh # 修改文件为可执行文件 -
sudo systemctl enable ruoyiAdmin.sh # 开机自启(树莓派3B及其他带“systemctl”的linux) /lib/systemd/systemd-sysv-install enable ruoyiAdmin.sh # 开机自启(树莓派0)
其他:
- 这里使用ruoyi框架作为展示。(ruoyi框架比较大型,在小嵌入式运行要预热10分钟~~)
- 如果头部不插入info会报一些错误,也有一劳永逸的解决方案(参考1里)。
- “Required-Start: $local_fs $network $mysql”的意思是等文件服务、网络、mysql启动后才开始运行
- 树莓派zero会出现这个帖子说的问题二(树莓派在配置开机启动服务时候遇到的问题_Windy_Z的博客-CSDN博客)
- 解决方案和本文一样,在(Raspbian Buster - missing insserv ? - Raspberry Pi Forums)的最后一层
- 推荐使用docker实现服务
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)