Script management with launchd in Terminal on Mac

在 macOS 上使用 launchd 來管理服務與進程. 使用者不會直接與 launchd 做互動, 是透過 launchctl 指令來載入或取消載入 launchd 服務程式和代理程式.

例如:

1# 查看資源限制
2$ launchctl limit
3
4# 列出服務清單
5$ launchctl list
6
7# 列出服務說明
8$ launchctl print system/com.apple.timed

plists (property list)

plist 檔案是用來定義服務的屬性檔案, 可分系統服務與第三方服務, 而 plist 檔案會放置在下面路徑.

檔案夾使用情況
/System/Library/LaunchDaemonsApple 提供的系統服務程式
/System/Library/LaunchAgentsApple 提供的代理程式,適用於以使用者為基礎的所有使用者
/Library/LaunchDaemons第三方系統服務程式
/Library/LaunchAgents第三方代理程式,適用於以使用者為基礎的所有使用者
~/Library/LaunchAgents第三方代理程式,僅適用於已登入的使用者

如下指令,查看 dock 服務的 plist 檔案內容. 可以看到是 DTD (Document Type Definition) 格式.

1# 查看 plist
2cat /System/Library/LaunchAgents/com.apple.Dock.plist
3...
4  <key>Program</key>
5  <string>/System/Library/CoreServices/Dock.app/Contents/MacOS/Dock</string>
6...

references

comments powered by Disqus