en *_*pes 1 java linux init.d spring-boot ubuntu-14.04
我已经生成了一个 Spring Boot 应用程序。使用 maven,将罐子移入
/var/licence/licence-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
然后
sudo ln -s /var/licence/licence-0.0.1-SNAPSHOT.jar /etc/init.d/licence
Run Code Online (Sandbox Code Playgroud)
但是当我输入
lopes@localhost:/var/licence$ service licence start
licence: unrecognized service
Run Code Online (Sandbox Code Playgroud)
这些是属性 /etc/init.d/licence
lrwxrwxrwx 1 root root 46 Mar 27 18:17 licence -> /var/licence/licence-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
这是我的 pom.xml:
....
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
...
Run Code Online (Sandbox Code Playgroud)
小智 5
据我所知 /etc/init.d 只存储脚本文件。你应该把脚本文件放在那里,在那里你描述如何启动/停止你的服务。下面我写了示例脚本另存为/etc/init.d/license,你可以像这样启动/停止你的服务
sudo service license start
#!/bin/sh
SERVICE_NAME=License
PATH_TO_JAR=/var/licence/licence-0.0.1-SNAPSHOT.jar
PID_PATH_NAME=/tmp/License.pid
case $1 in
start)
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stoping ..."
kill $PID;
echo "$SERVICE_NAME stopped ..."
rm $PID_PATH_NAME
else
echo "$SERVICE_NAME is not running ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stopping ...";
kill $PID;
echo "$SERVICE_NAME stopped ...";
rm $PID_PATH_NAME
echo "$SERVICE_NAME starting ..."
nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is not running ..."
fi
;;
esac
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3221 次 |
| 最近记录: |