gpt4 book ai didi

java - JSVC 没有启动,我没有收到任何错误消息

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:02 26 4
gpt4 key购买 nike

我正在尝试运行一个简单的 JSVC 程序。但是,当我运行脚本时它不会启动。我在日志文件、终端或我能找到的任何系统日志中也没有收到任何错误。

JSVC 似乎没有验证类路径,因为如果我故意使它们无效,我仍然没有得到关于它的错误。

它会验证其他参数,如果错误或丢失,它会提示,因此安装了 JSVC。

Java home 也应该是正确的,因为它之前提示过。

脚本:

#!/bin/sh

# Setup variables
EXEC=/usr/bin/jsvc
JAVA_HOME=/usr/lib/jvm/default-java
CLASS_PATH="/usr/share/java/commons-daemon.jar":"/home/xxxuserxxx/Desktop/Tutorials/StackOverflow_version/EchoTest.jar"
CLASS=Main
USER=xxxuserxxx
PID=/tmp/example.pid
LOG_OUT=/tmp/example.out
LOG_ERR=/tmp/example.err

do_exec()
{
$EXEC -home "$JAVA_HOME" -cp $CLASS_PATH -user $USER -outfile $LOG_OUT -errfile $LOG_ERR -pidfile $PID $1 -wait 20 $CLASS
}

case "$1" in
start)
do_exec
;;
stop)
do_exec "-stop"
;;
restart)
if [ -f "$PID" ]; then
do_exec "-stop"
do_exec
else
echo "service not running, will do nothing"
exit 1
fi
;;
*)
echo "usage: daemon {start|stop|restart}" >&2
exit 3
;;
esac

代码:

import java.util.Timer;
import org.apache.commons.daemon.*;

public class Main implements Daemon {


private static Timer timer = null;

public static void main(String[] args) {
System.out.println("Hello");
timer = new Timer();
timer.schedule(new EchoTask(), 0, 1000);
}

@Override
public void init(DaemonContext dc) throws DaemonInitException, Exception {
System.out.println("initializing ...");
}

@Override
public void start() throws Exception {
System.out.println("starting ...");
main(null);
}

@Override
public void stop() throws Exception {
System.out.println("stopping ...");
if (timer != null) {
timer.cancel();
}
}

@Override
public void destroy() {
System.out.println("done.");
}

}

import java.util.Date;
import java.util.TimerTask;

public class EchoTask extends TimerTask {
@Override
public void run() {
System.out.println(new Date() + " running ...");
}
}

最佳答案

好吧,我想我在设置所有常量时出错了。

代码基于此问答: How to convert a java program to daemon with jsvc?

在我删除等待参数并在类参数中展开完整的类/包路径后,它开始工作。

错误和输出文件正在运行,它们一定已被我之前所做的修复。我猜。

关于java - JSVC 没有启动,我没有收到任何错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35741286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com