我有一個守護進程,需要以root用戶身份運行,並由launchd啓動。這個守護進程需要存儲一些用戶提供的憑證,所以我使用SecKeychainOpen和類似的函數將它們寫入系統鑰匙串。從守護進程中使用OSX系統密鑰鏈
我很確定,因爲這是以root身份運行的,所以我必須使用系統鑰匙串(因爲使用用戶的登錄鑰匙串不正確,因爲這不會像普通用戶那樣運行)。
我的安裝程序在安裝結束時使用launchctl將其加載到launchd中。問題是,直到重新啓動後才真正啓動。我在Perl中將OnLay設置爲true,但似乎在使用系統鑰匙串時,我需要重啓以使其工作。
我想知道是否有人知道某種方式來處理這個問題,因爲如果重新啓動沒有必要,它會是一個更好的用戶體驗。所以要清楚,我可以使用launchd在不重啓的情況下從守護進程編程訪問系統鑰匙串?
感謝您的任何建議或意見。