我正在编写一个linux服务,以便将我的springboot web应用程序部署为服务。这是服务文件springboot.service
[Unit]
Description=My Webapp Java REST Service
[Service]
User=ubuntu
# The configuration file application.properties should be here:
#change this to your workspace
WorkingDirectory=/home/ubuntu
#path to executable.
#executable is a bash script which calls jar file
ExecStart=/home/ubuntu/spring-start
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target我的脚本文件spring-start.sh
sudo java -jar "/home/ubuntu/FirstWebAppWithoutDB.jar"我还通过chmod u+x spring-start.sh将执行权限授予了spring-start.sh
sudo systemctl daemon-reload
sudo systemctl enable springboot.service
sudo systemctl start springboot
sudo systemctl status springboot不幸的是,该服务失败,并显示error Exec format error:
springboot.service: Failed to execute command: Exec format error
Jul 14 07:39:56 ip-172-31-40-71 systemd[10075]: springboot.service: Failed at step EXEC spawning /home/ubuntu/spring-start.sh: Exec format error发布于 2019-07-14 16:35:24
将shebang添加到脚本
#!/bin/bash
sudo java -jar "/home/ubuntu/FirstWebAppWithoutDB.jar"和执行权限
chmod +x spring-start.sh发布于 2021-02-17 06:54:34
您的spring-start.sh是由bash执行的,您需要在springboot.service文件中显示您的ExecStart,如下所示:ExecStart=/bin/bash /home/ubuntu/ExecStart-start.sh
https://stackoverflow.com/questions/57025605
复制相似问题