Objective c 在OS X上尝试使用system()函数以编程方式加载守护程序/代理时“未找到命令”

Objective c 在OS X上尝试使用system()函数以编程方式加载守护程序/代理时“未找到命令”,objective-c,macos,launchd,Objective C,Macos,Launchd,当我尝试代表另一个用户加载某个进程时,我收到下一个错误: sudo: someusername: command not found system result: 256 请注意,我从根目录下运行的进程运行它 下面是我如何做的代码: NSString *command = @"sudo someusername /bin/launchctl load -S Aqua /Library/LaunchAgents/com.agent.someagent.plist";

当我尝试代表另一个用户加载某个进程时,我收到下一个错误:

sudo: someusername: command not found
system result: 256
请注意,我从根目录下运行的进程运行它

下面是我如何做的代码:

        NSString *command = @"sudo someusername /bin/launchctl load -S Aqua /Library/LaunchAgents/com.agent.someagent.plist";
        int result = system([command UTF8String]);
        NSLog(@"system result: %d", result);

这不应该是sudo-u someusername…?当我在终端中使用上面描述的命令时,它正在正确运行。不管怎样,当我设置-u时,我收到另一个错误:launch_msg:Socket未连接,因此-u标志正确。不是真的。我需要以编程方式运行上面的命令,因为它在终端中工作。这个确切的命令在终端中无法工作。语法错误。