iOS/Xcode:将posix_spawn()结果输出到调试控制台
有没有办法将posix_spawn()的结果输出到带有iOS的Xcode调试控制台 示例代码:iOS/Xcode:将posix_spawn()结果输出到调试控制台,ios,objective-c,iphone,xcode,Ios,Objective C,Iphone,Xcode,有没有办法将posix_spawn()的结果输出到带有iOS的Xcode调试控制台 示例代码: int status = 0; int success = 0; pid_t pid; char *argv[] = { "/usr/bin/pwd", NULL }; success = posix_spawn(&pid, argv[0], NULL, NULL, argv, environ); waitpid(pid, &status, WEXITED); N
int status = 0;
int success = 0;
pid_t pid;
char *argv[] = {
"/usr/bin/pwd",
NULL
};
success = posix_spawn(&pid, argv[0], NULL, NULL, argv, environ);
waitpid(pid, &status, WEXITED);
NSLog(@"Success: %i, Status: %i, PID: %d", success, status, pid);
//LOG RESULT- Success: 1, Status: 0, PID: 1
您应该始终检查函数的返回值,如
posix\u spawn()
。在iOS上,它将始终失败,因为不允许您创建子进程
即使在OSX上,如果这是您的真实代码,那么它也会失败,因为posix_spawn()
不会在路径中搜索您指定名称的可执行文件(pwd
)。必须是可执行文件的绝对或相对路径。您可以尝试使用posix_spawnp()
作为搜索路径的变体
在posix_spawn[p]()
成功的情况下,默认情况下,子进程将继承stdout和stderr,因此其输出应转到控制台,无需执行其他步骤。谢谢。是的,posix_spawn()总是返回1,这让我很困惑,因为我忘记了0实际上是成功的。