我正在尝试使用 JSVC 将 java 程序作为守护进程运行。这是我使用的简单代码:
package daemonexample;
public class DaemonExample implements Daemon {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
@Override
public void init(DaemonContext dc) throws DaemonInitException, Exception {
System.out.println("initializing ...");
}
@Override
public void start() throws Exception {
System.out.println("starting ...");
}
@Override
public void stop() throws Exception {
System.out.println("stopping ...");
}
@Override
public void destroy() {
System.out.println("done.");
}
}
和命令:jsvc -debug -home $JAVA_HOME -cp /path/to/commons-daemon.jar:/path/to/DaemonExample.jar -user coder -outfile /tmp/example.out -errfile /tmp/example。错误 -pidfile /tmp/example.pid daemonexample.DaemonExample
当我运行它时,我得到:“将标准输出重定向到 /tmp/example.out 并将标准错误重定向到 /tmp/example.err”。但是目标文件是空的。我在这里想念什么?