如何在 Mac OS X 上加载系统范围的守护进程

如何在 Mac OS X 上加载系统范围的守护进程

我正在尝试使用此命令加载我的守护进程应用程序

launchctl load /Library/LaunchDaemons/myPlistFileName

它运行正常,但只有当我的用户登录系统时才有效。

我如何加载我的守护进程应用程序,使其在没有任何用户登录系统的情况下保持加载状态(如 Windows 服务)??

命令

sudo launchctl load /Library/LaunchDaemons/myPlistFileName

给我一个错误 ->未找到任何要加载的内容

哪种方法才是正确的?

答案1

为了给每个人加载作业,您需要launchctl在 root 权限下运行。如果作业已在您的用户帐户下加载,则不会使用 root 权限加载。

launchctl unload /Library/LaunchDaemons/myPlistFileName在运行之前先尝试运行sudo launchctl load -w /Library/LaunchDaemons/myPlistFileName。查看system.log加载守护进程时发生的输出(如果愿意,可以使用 Console.app 查看它)。

答案2

如果你似乎无法奔跑

sudo launchctl load /Library/LaunchDaemons/myPlistFileName

首先尝试切换到root用户:

sudo su

它会要求您输入密码 - 输入您的标准用户密码,然后您现在就可以使用 root 帐户下的终端。

然后,运行

launchctl load /Library/LaunchDaemons/myPlistFileName

命令。

答案3

尝试之后,我仍然遇到问题。我的解决方案是:

sudo launchctl load -F /Library/LaunchDaemons/myPlistFileName

在此之后,我就可以随心所欲地装载和卸载它了。

相关内容