我正在通过Cocoa应用运行卸载脚本,发现launchctl命令没有被执行。
这是调用脚本的代码部分(其中包含sudo launchctl unload "守护进程名称")
//pFileName is the name of the File
NSString* pPath = [pCurrentBundle pathForResource:pFileName ofType:@"sh"];
char* const ppArgs[] = {const_cast<char*>([pPath fileSystemRepresentation]), NULL};
OSStatus status = AuthorizationExecuteWithPrivileges(m_AuthorizationRef, "/bin/sh", kAuthorizationFlagDefaults, ppArgs, NULL);
由于所有其他脚本命令都能正常执行(并且在终端中卸载),我猜测我没有像TN2083所述的root用户一样的特权(EUID和RUID都为0)。