首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InitScript Debian Insserv在启动时未启动

InitScript Debian Insserv在启动时未启动
EN

Stack Overflow用户
提问于 2014-09-03 21:00:43
回答 2查看 946关注 0票数 0

我在我的Cubietruck上运行Cubian (Debian Wheezy)时遇到了一个问题,我想在启动后创建一个可执行的Jarfile。

因此,我创建了以下ShellScript来启动我的jar (/usr/local/bin/startplt.sh):

代码语言:javascript
复制
#!/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 &"

从控制台运行此脚本是可行的。

然后,我创建了另一个脚本文件,作为服务来启动/停止我的stop应用程序。它应该像框架模板一样编写,但我没有得到该框架文件的任何内容。这是我的服务(/etc/init.d/startjar)

代码语言:javascript
复制
#! /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正在启动冰黄鼠狼来展示一些数据,这就是为什么它杀死了onStop。通过控制台启动和停止此脚本使用:

代码语言:javascript
复制
/etc/init.d/startjar start
/etc/init.d/startjar stop

以及添加到服务中

代码语言:javascript
复制
insserv -d  /etc/init.d/startjar 

但在启动之后,什么也不会发生。我对运行级别和所需的-stop/start变量不是很熟悉,通常不熟悉shell脚本。我真的看不出我做错了什么,或者我的脚本遗漏了什么:

有人能告诉我我哪里做错了吗?

EN

回答 2

Stack Overflow用户

发布于 2014-09-03 22:30:01

您的服务配置为在运行级5启动,但Debian默认引导到运行级2。这可能就是它不能启动你的服务的原因。

Default-Start修改为包含2,然后运行update-rc.d startjar defaults或类似命令。

顺便说一句,我认为这个问题应该移到serverfault。

票数 1
EN

Stack Overflow用户

发布于 2014-09-08 21:00:42

非常感谢你的帮助,但我自己找到了另一个可行的解决方案。

我在/home/cubie/.config/autostart/中创建了一个桌面条目,它现在在xsession之后启动我的jar。我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25645043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档