使用jsvc运行tomcat6



我正在尝试使用jsvc运行tomcat6,以便在启动时获得用户权限。

我正在尝试使用tomcat文档中的代码运行:http://tomcat.apache.org/tomcat-6.0-doc/setup.html

cd $CATALINA_HOME
./bin/jsvc -cp ./bin/bootstrap.jar 
-outfile ./logs/catalina.out -errfile ./logs/catalina.err 
org.apache.catalina.startup.Bootstrap

这些是我得到的错误:

Unable to redirect to ./logs/catalina.out
Unable to redirect to ./logs/catalina.err
Cannot open PID file /var/run/jsvc.pid, PID is 2813
Service exit with a return value of 255

同样重要的是,我没有按照指南中的规定从源代码安装tomcat和jsvc。相反,我使用synaptic从包中安装了它们。


更新:

我现在以脚本的形式运行它,下面是代码:

#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
export CATALINA_HOME=/usr/share/tomcat6
./bin/jsvc -cp ./bin/bootstrap.jar:$JAVA_HOME
-outfile ./logs/catalina.out -errfile ./logs/catalina.err 
org.apache.catalina.startup.Bootstrap

现在我得到了一个不同的错误:

Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader
Service exit with a return value of 1

我还试图从synaptic中删除我安装的jsvc,并从源代码中安装jsvc的1.0.10版本。这也于事无补。

除了bootstrap.jar 之外,类路径中还需要bin/commons-daemon.jar

您确定CATELINA_HOME已正确导出吗?还是tomcat启动正常?

可能就是这个问题