【发布时间】:2014-09-03 13:00:43
【问题描述】:
我在使用 Cubian (Debian Wheezy) 的 Cubietruck 上遇到了一个初始化脚本问题 我想在启动后启动一个可执行的 Jarfile。
因此我创建了以下 ShellScript 来启动我的 jar (/usr/local/bin/startplt.sh):
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
JAVA=/usr/bin/java
JARFILE=/home/cubie/plt.jar
USER=cubie
/bin/su - $USER -c "$JAVA -jar $JARFILE &"
从控制台运行此脚本有效。
然后我创建了另一个脚本文件作为服务来启动/停止我的 Java 应用程序。它应该像骨架模板一样编写,但我没有得到该骨架文件的任何内容。这是我的服务(/etc/init.d/startjar)
#! /bin/sh
### BEGIN INIT INFO
# Provides: startjar
# Required-Start: $remote_fs $syslog $local_fs $network
# Required-Stop: $remote_fs $syslog $local_fs $network
# Default-Start: 5
# Default-Stop: 0 1 6
# Short-Description: Starts plt.jar
# Description: starts a the main jarfile
### END INIT INFO
NAME="startjar"
DESC="Starts /home/cubie/plt.jar"
test -x $DAEMON || exit 0
case "$1" in
start)
/usr/local/bin/startplt.sh
;;
stop)
pkill -f /home/cubie/plt.jar
pkill -f iceweasel
;;
*)
exit 1
;;
esac
exit 0
Jar 正在启动 Iceweasel 以显示一些数据,这就是它在停止时被杀死的原因。 通过控制台启动和停止此脚本适用于:
/etc/init.d/startjar start
/etc/init.d/startjar stop
以及添加到服务中
insserv -d /etc/init.d/startjar
但是在启动之后什么都没有发生。 我对运行级别和所需的停止/启动变量不太熟悉 实际上通常不是使用 shell 脚本。 我真的不明白我做错了什么或我的脚本缺少什么:(
谁能告诉我我做错了什么?
【问题讨论】:
标签: linux jar debian boot init