首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从c++中的子进程中获取退出状态

问从c++中的子进程中获取退出状态
EN

Stack Overflow用户
提问于 2014-05-07 10:36:41
回答 1查看 1.4K关注 0票数 0

我不知道这段代码有什么问题。这是linux机器上的C语言。

它应该做的是杀死我创建的所有子进程,等待all退出,然后为每个子进程打印一行,其中包含pid、进程号(我创建)和信号号(应该是9,表示已被杀死)。

那么我到底做错了什么呢?

代码语言:javascript
复制
void onalarm(int signo) {
    int status[numberOfCores];
    printf("Recieved alarm signal\n");

    int cpu;
    for (cpu = 0; cpu < numberOfCores; cpu++) {
        kill(child_pid[cpu], SIGKILL);
    }

    for (cpu=0;cpu <numberOfCores;cpu++){
        waitpid(-1, &status[numberOfCores],0);
    }
    for (cpu=0;cpu < numberOfCores;cpu++){
        printf("pid = %i  %ith child killed with signal ",child_pid[cpu],cpu);

        printf("%i %s\n", WTERMSIG(status[cpu]), strsignal(WTERMSIG(status[cpu])));
    }
    exit(0);
EN

回答 1

Stack Overflow用户

发布于 2014-05-07 10:46:42

我知道我的问题出在哪里了。

代码语言:javascript
复制
     for (cpu=0;cpu <numberOfCores;cpu++){
    waitpid(-1, &status[numberOfCores],0);

应该是的。

代码语言:javascript
复制
     for (cpu=0;cpu <numberOfCores;cpu++){
    waitpid(-1, &status[cpu],0);

让它正常工作知道。谢谢你帮我思考。

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

https://stackoverflow.com/questions/23507756

复制
相关文章

相似问题

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