Launchd starting a new process
Have you tried adding a an ExitTimeOut key? From man launchd.plist:

ExitTimeOut &lt;integer&gt;
The amount of time launchd waits before sending a SIGKILL signal. The default value
is 20 seconds. The value zero is interpreted as infinity.