You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Overview

Commons Daemon http://jakarta.apache.org/commons/daemon/index.html can be used to run executables or java applications as windows service or UNIX daemon.

To build it from source you need GNU autoconf and m4 in addition to the requirements listed in the presentation page.

FAQ

Is it possible to use the commons daemon to run a executable as Windows service?

Yes, not only java applications can be installed as windows service. Similar to the Srvany.exe tool any other exe can be used.

Sample: Proxomitron (http://www.proxomitron.info/) as windows service

Installation: prunsrv //IS//PROXO --DisplayName="Proxomitron Proxy" --Description="Proxomitron Web Proxy" --StartImage=c:\proxomitron\proxomitron.exe --StartPath=c:\proxomitron --Type=interactive --LogLevel=DEBUG --LogPath=c:\proxomitron\logs --LogPrefix=procrun.log --Startup=manual --StdOutput=c:\proxomitron\logs\stdout.log --StdError=c:\proxomitron\logs\stderr.log

Uninstallation: prunsrv //DS//PROXO

Can I use the commons daemon to install (register) a Windows service?

Yes a Windows service can be installed/uninstalled using prunsrv. See the following example to install the a Windows Service called SCNService: prunsrv //IS//SCNService --Install=%CD%\SCNService.exe --Startup=manual --DisplayName=SCNService

Hint: prunsrv will add "//RS//SCNService" to the ImagePath, which will be passed to SCNService.exe when the Windows SCM (Service Control Manager) is staring the service. Most Services will ignore such command line arguments, but you should check this with your service just to make sure.

I get "prunsrv.c Failed creating java" errors when commons daemon launches Tomcat

These errors occur when JVM used by Tomcat is unable to locate msvcr71.dll runtime library.

Possible solutions:

  • Copy msvcr71.dll from java’s bin directory to tomcat’s bin folder
  • Add java’s bin directory to windows environment variable
  • Copy msvcr71.dll from java’s bin directory to windows\system32 folder
  • Make sure your tomcat’s pointing to correct jvm.dll folder

Can I use the common daemon to start a Windows service?

I can stop a windows service with //SS//ServiceName. As I tried to start it again with //RS// nothing happend?

UNIX Return codes

  • 0 = Successful operation
  • 1 = ? (When used for starting tomcat it starts but returns this...?)

...

  • No labels