第一步:在/etc/init.d/目录下创建shell启动脚本autojar.sh
cd /etc/init.d/ touch autojar.sh vi autojar.sh
autojar.sh的内容如下:
#!/bin/sh ### BEGIN INIT INFO # Provides: raspi.suidian.net.cn # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: autostartup of springboot for RaspberryPi ### END INIT INFO #程序名 RUN_NAME="SpringBoot.jar" #jar包位置 JAVA_OPTS=/home/pi/Desktop/raspi-0.0.1-SNAPSHOT.jar #后台运行日志位置 LOG_OPTS=/home/pi/Desktop/raspi-nohup.out #开始方法 start() { nohup java -jar $JAVA_OPTS >$LOG_OPTS 2>&1 & echo "$RUN_NAME started success." } #结束方法 stop() { echo "stopping $RUN_NAME ..." kill -9 `ps -ef|grep $JAVA_OPTS|grep -v grep|grep -v stop|awk '{print $2}'` } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Userage: $0 {start|stop|restart}" exit 1 esac
第二步:给自动启动脚本及springboot程序添加执行权限
chmod a+x /etc/init.d/autojar.sh chmod a+x /home/pi/Desktop/SpringBoot.jar
第三部:添加到系统服务,并设置开机启动:
update-rc.d autojar.sh defaults 90
其他
如果启动日志中出现下图所示情况:
可能由于执行脚本时写在/etc/profile中的环境变量还没有生效。此时在脚本中指定vava执行器的完整bin路径即可,如下图所示: