我正在尝试使用此命令加载我的守护进程应用程序
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
在此之后,我就可以随心所欲地装载和卸载它了。