Col*_*age 8 java arm start-stop-daemon angstrom-linux
我有一点时间使用start-stop-daemon在java脚本中正确启动java程序.我已经编写了init脚本,它似乎运行但是之后从来没有一个进程表示正在运行的程序.
这是我的init脚本的片段
#! /bin/sh
#
#
DAEMON="/usr/bin/java"
DAEMON_ARGS="-server -cp <bunch of RMI arguments and classpath stuff> -jar <absolute path>/myprog.jar"
PIDFILE="/var/run/myprog.pid"
case "$1" in
start)
echo -n "Starting myprog"
start-stop-daemon --start --pidfile "$PIDFILE" --chuid "myuser" --verbose --background --make-pidfile --startas "$DAEMON" -- $DAEMON_ARGS
echo "."
;;
Run Code Online (Sandbox Code Playgroud)
当我尝试通过/etc/init.d启动它时,我得到以下内容:
/etc/init.d# /etc/init.d/myscript start
启动myprogStarting/usr/bin/java ...
重启以启动/usr/bin/java..done.
.
之后,没有运行java解释器进程,执行myprog.jar
我已经尝试了--exec, - start的各种组合,或多或少相同的结果.如果我能更清楚地了解正在发生的事情,我相信我可以解决这个问题,但我不确定如何做到这一点.
有什么建议?
(我在嵌入式ARM平台上运行Angstrom,因此Java Service Wrapper实际上不是一个可行的选择,即我认为它不适用于ARM)
我被困了所以任何建议都会非常感激.
谢谢.
Dan*_*ski 14
要尝试两件事,首先尝试删除--startas并使用,--exec如下所示:
start-stop-daemon --start --pidfile "$PIDFILE" --chuid "myuser" --verbose --background --make-pidfile --exec "$DAEMON" -- $DAEMON_ARGS
Run Code Online (Sandbox Code Playgroud)
第二,因为您正在使用--backgroundtry指定--chdir选项,如果您不使用工作目录/.
我最终绊倒了你的问题试图解决我的问题,最终解决了--chdir,我相信它也会解决你的问题.
小智 -4
您正在寻找一种运行并能够监控它的方法吗?
你尝试过 MS Batch Dos 编程吗?
例如
@echo off
cd DirectoryOfFiles
echo "Starting up..."
java -Xmx512m mainFile
pause
Run Code Online (Sandbox Code Playgroud)
mainFile = main.java?DirectoryOfFiles = 包含所有类文件的目录,如果运行文件是同一目录,只需删除此行
希望这就是你所要求的
| 归档时间: |
|
| 查看次数: |
6486 次 |
| 最近记录: |