首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理posix_spawn()的错误

处理posix_spawn()的错误
EN

Stack Overflow用户
提问于 2018-07-03 06:07:34
回答 1查看 1.1K关注 0票数 1

我从这里中找到了一个使用这里的示例代码。

在该页面中,run_cmd()的定义如下所示。

代码语言:javascript
复制
void run_cmd(char *cmd) {
    ...
    status = posix_spawn(&pid, "/bin/sh", NULL, NULL, argv, environ);
    if (status == 0) {
        printf("Child pid: %i\n", pid);
    } else {
        printf("posix_spawn: %s\n", strerror(status));
    }
}

我的问题是“是否可以将posix_spawn()的返回值作为一个参数给strerror()”。

如果情况不好,处理posix_spawn()错误的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-03 06:20:51

是的,posix_spawn()在成功时返回0,在失败时返回errno。因此,可以将其结果传递给strerror

根据文档

posix_spawn()posix_spawnp()函数只有在底层fork(2)vfork(2)调用失败时才会失败;在这些情况下,这些函数返回一个错误号,这将是为fork(2)vfork(2)描述的错误之一。 此外,如果: 此系统不支持ENOSYS函数。

另外,从源代码中可以看到,它只是返回errno

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51147640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档