【发布时间】:2009-07-26 18:51:49
【问题描述】:
如果用户没有选择从顶部栏中选择“退出”,我想知道如何设置 Launchd 以重新启动我的应用程序。在某些情况下,应用程序可能会发生某些事情,并且可能会强制退出,如果选择了首选项,我希望它自动重新启动。在发帖之前我已经研究过了,我听说 Launchd 很擅长做这件事。有人对如何完成它有任何建议吗?
感谢您的帮助。
【问题讨论】:
如果用户没有选择从顶部栏中选择“退出”,我想知道如何设置 Launchd 以重新启动我的应用程序。在某些情况下,应用程序可能会发生某些事情,并且可能会强制退出,如果选择了首选项,我希望它自动重新启动。在发帖之前我已经研究过了,我听说 Launchd 很擅长做这件事。有人对如何完成它有任何建议吗?
感谢您的帮助。
【问题讨论】:
让您的程序在应用运行时在用户的主文件夹中写入一个空的 .something 文件。当应用程序正常退出时删除 .something 文件。 现在您可以编写一个小脚本(AppleScript 或 shell 脚本)来检查您的应用程序是否正在运行,以及是否应该运行(通过检查 .something 文件)。然后,如果需要,该脚本可以重新启动应用程序。 您可以使用 launchd 安排脚本在启动时自动运行。
【讨论】:
您可以使用 KeepAlive 的成功退出设置,仅在应用未正常退出时重新启动。有关详细信息,请参阅 this Mac OS X Hints entry 和/或 launchd.plist 手册页。
【讨论】: