Quinn <mailto:eskimo1@apple.com> wrote (Monday, January 28, 2008 4:33 AM -0000):
At 23:16 -0700 27/1/08, James Bucanek wrote:
The only difference is that KeepAlive would restart my background app if it crashed. Fortunately (through the brilliant programming efforts of its creator, I'm sure), this particular app simply doesn't crash -- knock on wood.
One option is to set "KeepAlive" to a dictionary containing "SuccessfulExit" set to false. That way, launchd won't restart you if you quit cleanly. OTOH, if you crash, you'll be relaunched.
Thanks for the suggestion, Quinn, but it still boils down to almost the same thing. I want the process to be restarted if the user or my client application quits it. The program is a simple background Cocoa app that displays a single window with status information. It's really simple and (virtually) never crashes or locks up. It does, however, sometimes accumulate stale process connections and such. It's sometime nice to restart it just by telling it to quit -- either from my client application or by letting the user quit it using the Activity Monitor. About the only thing I can think of that might make this work is to add a function that would cause the application to exit with a non-zero status and call that when I want to restart it. This doesn't solve the problem of the user quiting it (becuase that would use the standard/clean quit request), but that's probably as close as I'm going to get. Cheers, James -- James Bucanek