Mac-Osx
從 launchd 中刪除程序而不重新啟動
我有一台我不想在其上執行 finder 的機器,所以最初我使它無法執行:
sudo chmod -R a-x /System/Library/CoreServices/Finder.app
但後來意識到,launchd 仍在嘗試每秒多次啟動 finder,導致包含數百萬行的巨大日誌文件:
com.apple.launchd.peruser.502[109] (com.apple.Finder[93799]) <Error>: posix_spawn("/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder", ...): Permission denied com.apple.launchd.peruser.502[109] (com.apple.Finder[93799]) <Warning>: Exited with exit code: 1
所以我進行了編輯
/System/Library/LaunchAgents/com.apple.Finder.plist
,使其不再啟動。我現在遇到的問題是強制 launchd 重新載入 plist,因此停止嘗試啟動 finder。但是,我無法重新啟動機器。我曾嘗試使用 launchctl 來刪除和解除安裝程序,但這似乎不起作用:
$ sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Finder.plist launchctl: Error unloading: com.apple.Finder $ sudo launchctl remove com.apple.Finder launchctl remove error: No such process
無論如何我可以停止launchd不斷嘗試載入finder而不重新啟動機器?
Finder 是 LaunchAgent,而不是 LaunchDaemon,這意味著它是作為登錄會話的一部分載入的。要麼
launchctl unload
不使用sudo
,要麼只註銷並重新登錄。
您的日誌顯示 Finder 正在為使用者 502 執行,但您正在使用 執行
launchctl
,sudo
並且 root 沒有執行 Finder。試試launchctl unload
沒有sudo
。