我是Mac OSX新手,我正在嘗試開發一個守護進程(我熟悉windows服務,並試圖實現相同的目標)。Mac OSX LaunchDaemon在卸載時運行一些東西
我做了什麼至今:
託管寫在LaunchDaemons plist文件中(我發現,這些守護進程在系統帳戶,而不是用戶的身份運行,就像使用本地系統權限的Windows服務)。
我設法讓它在啓動時運行,並運行我的簡單的hello world應用程序,該應用程序每10秒將一些內容寫入文件。
問題是,當我用launchd卸載守護進程時,它只是殺死了我的進程。 有沒有辦法讓守護進程在卸載時運行其他的東西,或者向我的進程傳達它正在關閉,所以我可以在我的代碼中執行卸載操作?
謝謝
這是非常有用的討論,謝謝。我的應用程序是用.Net Core編寫的,我會嘗試找到一種方法來在那裏接收kAEQuitApplication事件。然而,在我的plist文件中,我實際上運行「dotnet」作爲參數,所以它可能有點棘手。如果我得到一些結果,我會告訴你。 –