父进程 a1:
a1.c

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv)
{
    printf("a1 run\n");
    int n = system("./a2");
    printf("a2 return: %d\n", WEXITSTATUS(n));
    return 0;
}

子进程a2:
a2.c

#include <stdio.h>

int main(int argc, char* argv)
{
    printf("a2 run\n");
    return 2;
}


编译:
gcc a1.c -o a1
gcc a2.c -o a2

运行:
./a1


输出:

a1 run
a2 run
a2 return: 2
Logo

更多推荐