iOS/Xcode:将posix_spawn()结果输出到调试控制台

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

有没有办法将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);

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实际上是成功的。