Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I think you could possibly make use of the built in facilities Launchd and CrashReporter to achieve your requirements.</p> <p><a href="https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/launchd.8.html#//apple_ref/doc/man/8/launchd" rel="nofollow">Launchd</a> is the OS X system supervisor intended for launching and monitoring background processes, and would be typically used to run XPC services. Launchd agents can react to various system events, and can be configured to restart processes in the event of them crashing ( specified via the <code>KeepAlive/SuccessfulExit</code> key in the <a href="https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html" rel="nofollow">property list</a>)</p> <p>Launchd can be set to react to various system events as launch event, including monitoring files and directories, scheduled times, or listening to network connections.</p> <p><a href="https://developer.apple.com/library/mac/#technotes/tn2004/tn2123.html" rel="nofollow">CrashReporter</a> is the OS X system facility that catches and logs all process crashes. It logs through the <a href="https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/LoggingErrorsAndWarnings.html#//apple_ref/doc/uid/10000172i-SW8-SW1" rel="nofollow">AppleSystemLogger facility</a> and can be accessed with the syslog tools as documented in the linked TechNote. On Mountain Lion, user process crash reports end up in <code>~/Library/DiagnosticReports/</code> , with a crashlog and plist file pair created per crash event.</p> <p>I think you could use these features in a couple of ways to achieve your requirement, if launchd is responsible for running the xpc services, it can take reponsibility for restarting them on crash events, and they can be dissociated from any app crashes. </p> <p>You could write a launchd agent that responds to for crash events by montioring the crash report directory (e.g. using the <code>QueueDirectories</code> property) for new logs and re-launches your applicaton, or presents notifications. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload