一:新增.service文件
- my.service(/etc/systemd/system/)
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | [Unit]Description=Java start
 
 After=network.target
 
 [Service]
 
 Type=forking
 ExecStart=/opt/app/start.sh
 ExecStop=/opt/app/stop.sh
 
 [Install]
 WantedBy=multi-user.target
 
 | 
| 12
 
 | ExecStart是启动脚本ExecStop是停止脚本
 
 | 
二:使用systemctl命令启用service文件
| 12
 3
 4
 5
 
 | chmod 777 my.servicesystemctl enable my.service
 完成以上步骤后,Shell脚本就会在系统启动时自动运行了。
 systemctl disable my.service
 如上是移除指令
 
 | 
三:备注
3.1 start.sh
| 12
 3
 4
 5
 
 | #!/bin/bashcp /opt/app/eservice.jar /opt/app/server/eservice.jar
 cd /opt/app/server/
 echo "-----------start eservice sever-----"
 nohup /opt/jdk1.8.0_251/bin/java -jar eservice.jar --spring.profiles.active=prod --server.port=8080  > /opt/app/nohup.out 2>&1 &
 
 | 
3.2 stop.sh
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | #!/bin/bashcp /opt/app/eservice.jar /opt/app/server/eservice.jar
 cd /opt/app/server/
 echo "-----------start eservice sever-----"
 nohup /opt/jdk1.8.0_251/bin/java -jar eservice.jar --spring.profiles.active=prod --server.port=8080  > /opt/app/nohup.out 2>&1 &
 [root@test-server app]# cat stop.sh
 #!/bin/bash
 cd /opt/app/server/
 echo "-----------stop eservice sever-----"
 ps -ef | grep 8080 | grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill  -s 9
 
 | 
3.3 感悟
| 12
 
 | 经测试是有些可以用,有些不能用,体验不是很好,可以直接修改/etc/rc.d/rc-local来实现,参考:rc.local设置开机自启动脚本(文章)
 
 | 
 
  
  
     *************感谢您的阅读*************