我是Mac OSX新手,我正在尝试开发一个守护进程(我熟悉windows服务,并试图实现相同的目标)。Mac OSX LaunchDaemon在卸载时运行一些东西
我做了什么至今:
托管写在LaunchDaemons plist文件中(我发现,这些守护进程在系统帐户,而不是用户的身份运行,就像使用本地系统权限的Windows服务)。
我设法让它在启动时运行,并运行我的简单的hello world应用程序,该应用程序每10秒将一些内容写入文件。
问题是,当我用launchd卸载守护进程时,它只是杀死了我的进程。 有没有办法让守护进程在卸载时运行其他的东西,或者向我的进程传达它正在关闭,所以我可以在我的代码中执行卸载操作?
谢谢
这是非常有用的讨论,谢谢。我的应用程序是用.Net Core编写的,我会尝试找到一种方法来在那里接收kAEQuitApplication事件。然而,在我的plist文件中,我实际上运行“dotnet”作为参数,所以它可能有点棘手。如果我得到一些结果,我会告诉你。 –