I've got it working. I'm now using the "Geronimo start" command and I've added this to the plist file
<key>AbandonProcessGroup</key> <true /> Previously launchd had been killing the Geronimo process as soon as the script exited. Cheers, Steve -----Original Message----- From: Steve Higham [mailto:st...@sjlt.co.uk] Sent: 08 June 2012 12:21 To: user@geronimo.apache.org Subject: RE: Has anyone managed to get Geronimo 3 to run as a service / daemon on a mac? Hi Daniel, Thanks for the pointer. I've spent the last couple of days working from this document but I can't get it working. My plist file is below <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>GeronimoProduction</string> <key>UserName</key> <string>ci-user</string> <key>Program</key> <string>/bin/bash</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>/Users/ci-user/GeronimoStart</string> <string>/usr/local/geronimo-3-production</string> </array> <key>RunAtLoad</key> <true /> <key>LaunchOnlyOnce</key> <true /> <key>StandardOutPath</key> <string>/var/log/geronimo-3-production.log</string> <key>StandardErrorPath</key> <string>/var/log/geronimo-3-production.log</string> <key>Debug</key> <true /> </dict> </plist> Please ignore references to "production". I'm not going to production on G3. I'm just experimenting with Continuous Deployment techniques. I've used the UserName key as the launchd default is root and I don't want Geronimo running under root. I'm using /bin/bash as my executable and passing the startup script as a parameter. Launchd tries to execute its target directly. It can't handle a script. I use my own start-up script to set up the execution environment. Launchd has su'd to the user so the environment has not been set up. My script is below # This script is called by the Geronimo Service as ci-user # This enables the Geronimo environment to be correctly configured. # echo # echo GeronimoStart called # echo export GERONIMO_HOME=$1 # echo GERONIM_HOME $GERONIMO_HOME # echo export JRE_HOME=/System/Library/Frameworks/JavaVM.framework/Home export JAVA_OPTS='-Djava.awt.headless=true -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m' export GERONIMO_TMPDIR=/Volumes/Temp/Temp export GROOVY_HOME=/usr/local/groovy export M2_HOME=/usr/share/maven export HUDSON_HOME=/Users/ci-user/Hudson/home echo Environment echo =========== env cd $GERONIMO_HOME bin/geronimo start echo Done When I load the plist file (from Launchctl) the script is run. I get output (from /var/log/Geronimo-3-production.log) showing the PID number Geronimo is running under. However the process terminates immediately and there is no output in the Geronimo logs. I have also tried using "Geronimo run" instead of "Geronimo start". This shows Geronimo throwing the following exception during startup java.lang.IllegalStateException: GBean is not running: org.apache.geronimo.framework/j2ee-system/3.0-beta-1/car?ServiceModule=org.a pache.geronimo.framework/j2ee-system/3.0-beta-1/car,j2eeType=ConfigurationMa nager,name=ConfigurationManager at org.apache.geronimo.kernel.basic.BasicKernel.getGBean(BasicKernel.java:295) at org.apache.geronimo.kernel.basic.BasicKernel.getGBean(BasicKernel.java:288) at org.apache.geronimo.kernel.config.ConfigurationUtil.getConfigurationManager( ConfigurationUtil.java:337) at org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java :200) at org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:9 3) at org.apache.geronimo.system.osgi.BootActivator$1.execute(BootActivator.java:1 07) at org.apache.geronimo.main.Bootstrapper.execute(Bootstrapper.java:65) at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65) at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:32) If I telnet onto the server as ci-user and run my startup script directly everything works fine (run or start). Any comments welcome. Cheers, Steve -----Original Message----- From: dsh [mailto:daniel.hais...@googlemail.com] Sent: 07 June 2012 20:42 To: user@geronimo.apache.org Subject: Re: Has anyone managed to get Geronimo 3 to run as a service / daemon on a mac? Hi, on Mac OS X you are supposed to use launchd scripts to have a program started as a background daemon while the OS is starting. The following resource might help you the get an initial idea about the process of setting up such a script: http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSy stemStartup/Chapters/CreatingLaunchdJobs.html Cheers Daniel On Thu, Jun 7, 2012 at 7:09 PM, Steve Higham <st...@sjlt.co.uk> wrote: > Any help appreciated - steve > > > > Steve Higham > >