如何在启动时启动以 root 身份运行的 plist 代理

如何在启动时启动以 root 身份运行的 plist 代理

我已经通过 homebrew 安装了 nginx,默认情况下它提供了一个符号链接的 plist,~/Library/LaunchAgentslaunchctl load ~/Library/LaunchAgents/nginx.plist以我的用户帐户身份启动 nginx。

我希望 nginx 能够监听端口 443 以测试一些 HTTPS 内容。因此这意味着以 root 身份运行 nginx。通过将 plist 文件放在/Library/LaunchAgentsinsetad 中,我可以运行sudo launchctl load ...,然后 nginx 启动,一切运行正常。

但是,在这种情况下,nginx 不会在启动时启动。每次重启后我都必须手动启动 nginx。

是否可以让 launchctl 在启动时以 root 身份启动 nginx?

答案1

代理在登录时加载,守护进程在启动时加载。代理代表登录的用户运行,守护进程代表 root 或 /UserName键指定的用户/组运行GroupName

将您的工作定义移至/Library/LaunchDaemons,您应该会没事。

相关内容