These go into /System/Library/StartupItems: For MacOSX these two files need to go into: ./BuildCoordinator ./StartupParameters.plist /System/Library/StartupItems/BuildCoordinator Your script: --------------------------------------------------------------------------- #!/bin/sh . /etc/rc.common StartService () { ConsoleMessage "Starting Build Coordinator" cd /Users/build/BuildCoordinator /usr/bin/perl buildcoordinator.pl } StopService () { killall -1 buildcoordinator.pl 2> /dev/null } RestartService () { StopService StartService } RunService "$1" --------------------------------------------------------------------------- StartupParameters.plist ---- { Description = "Build Coordinator"; Provides = ("BuildCoordinator"); Requires = ("Network"); Uses = (""); Preference = ""; Messages = { start = "Starting Build Coordinator"; stop = "Stopping Build Coordinator"; restart = "Restarting Build Coordinator"; }; }