ubuntu自启动
1. 创建startxxx.service
service文件位置
/etc/systemd/system/ - Prio 1 /run/systemd/system/ - Prio 2 /lib/systemd/system/ - Prio 3 /usr/lib/systemd/system/ - Prio 3
2. 执行 systemctl daemon-reload 重新加载service文件
3. 执行 systemctl enable startxxx.service
#表示基础信息
[Unit]
#描述
Description=startmars Service
#在哪个服务之后启动
After=syslog.target network.target remote-fs.target nss-lookup.target
#表示服务信息
[Service]
PIDFile=/var/run/mars.pid
#User=amax
#Group=amax
WorkingDirectory=/home/xxxx/mars
ExecStart=/opt/java/jdk1.8.0_241/bin/java -jar /home/xxxx/mars/xxx-1.0.1-RELEASE.jar
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
#安装相关信息
[Install]
WantedBy=multi-user.target
重新加载service文件:systemctl daemon-reload
启动一个服务:systemctl start nginx-1.13.0.service
关闭一个服务:systemctl stop nginx-1.13.0.service
重启一个服务:systemctl restart nginx-1.13.0.service
显示一个服务的状态:systemctl status nginx-1.13.0.service
在开机时启用一个服务:systemctl enable nginx-1.13.0.service
在开机时禁用一个服务:systemctl disable nginx-1.13.0.service
查看服务是否开机启动:systemctl is-enabled nginx-1.13.0.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
============================
/etc下文件夹
/etc/init.d
/etc/rc0.d
/etc/rc1.d
/etc/rc2.d
/etc/rc3.d
/etc/rc4.d
/etc/rc5.d
/etc/rc6.d (0~6表示初始化级别)
和文件
/etc/rc.local (该脚本是在系统初始化级别脚本运行之后再执行的,可以在这里添加启动脚本)
然后还有另一个同样名字的文件
/etc/init.d/rc.local(这个暂时不用管)
总结:
在/etc/rc.local 添加启动脚本
如果还不够,那么可以在/etc/init.d/下再添加一个脚本test.sh来执行。
脚本大概写法:
export JAVA_HOME=/usr/lib/jdk/jdk1.8
export PATH=${JAVA_HOME}/bin:$PATH
cd /usr/printer
java -jar zwpp-0.0.1-SNAPSHOT.jar &