Launchd starting a new process I currently have a process that is running some shell scripts that then a call to an API. When it makes the calls, there might be like 10-15 seconds when the script is waiting for the external API to send a response. This is when I notice that the process is run again. So it will get to that point and then run another process for that. Is there any way for me to prevent this from happening? I need to run this process every 30 minutes.

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
&lt;key&gt;KeepAlive&lt;/key&gt;
&lt;false/&gt;
&lt;key&gt;Label&lt;/key&gt;
&lt;string&gt;com.leads.issues&lt;/string&gt;
&lt;key&gt;LingonWhat&lt;/key&gt;
&lt;string&gt;/Users/Marketing/Desktop/TrueLeadsUpdate.app/Contents/MacOS/applet&lt;/string&gt;
&lt;key&gt;ProgramArguments&lt;/key&gt;
&lt;array&gt;
    &lt;string&gt;/Users/Marketing/Desktop/TrueLeadsUpdate.app/Contents/MacOS/applet&lt;/string&gt;
&lt;/array&gt;
&lt;key&gt;RunAtLoad&lt;/key&gt;
&lt;true/&gt;
&lt;key&gt;StartInterval&lt;/key&gt;
&lt;integer&gt;1800&lt;/integer&gt;
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.