2009-07-26 69 views
2

我想知道如何设置Launchd以重新启动我的应用程序,如果用户没有选择从顶部栏中选择“退出”。有些情况下,应用程序可能会发生某些情况,并且可能会强制退出,并且如果选择了首选项,我希望它自动重新启动。在发布之前,我已经仔细研究了它,并且我听说Launchd会很擅长这样做。有没有人有关于如何完成它的任何建议?退出推出重新启动应用程序

感谢您的任何帮助。

回答

2

让应用程序运行时,您的程序在用户的主文件夹中写入一个空的.something文件。应用程序正常退出时删除.something文件。 现在,您可以编写一个脚本(AppleScript或shell脚本)来检查您的应用程序是否正在运行,以防万一它应该(通过检查.something文件)。然后,脚本可以根据需要重新启动应用程序。 您可以安排脚本在启动时使用launchd自动运行。

+0

嗨Diederik: 好主意,但我有一个关于这个问题。这个问题是:我应该什么时候运行脚本?我可以设置它来监视应用程序是否关闭,或类似的东西? – PF1 2009-07-26 19:55:56

+0

该脚本应该始终运行。在脚本中,您应该使用睡眠时间(如Unix睡眠(10)),以便脚本不会使用太多的CPU。除了Launchd之外,您还可以将脚本添加到用户的登录项目中,这样偏好设置只会对当前用户产生影响(这应该是我猜测的首选方式)。 – diederikh 2009-07-26 20:17:31

2

您可以使用KeepAlive的SuccessfulExit设置仅在未正常退出时重新启动应用程序。有关详细信息,请参见this Mac OS X Hints entry和/或launchd.plist手册页。