我已将 launchd 配置为运行脚本。对于安装它的用户(我)来说,这很好用,但每次我登录时它都会重新启动脚本,而我希望只要计算机处于打开状态,它就会运行(就像 Windows 服务一样)。
详细信息 - 位置:
/库/LaunchDaemons/com.pluuserwatcher.osx.test.plist
内容:
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.pluuserwatcher.osx.test</string>
<key>Program</key>
<string>/Users/max/Projects/PLU/Utils/userwatcher.py</string>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
答案1
launchctl load ...
如果您以普通用户身份运行并加载 launchd 项,它会为您的用户 launchd 实例加载它(即本质上作为 LaunchAgent,因此它仅在您的用户登录会话中运行。要将其加载到系统 launchd 中(作为适当的 LaunchDaemon),请使用sudo launchctl load ...
(或将其放入 /Library/LaunchDaemons 并重新启动)。