父进程 a1:
a1.c
子进程a2:
a2.c
编译:
gcc a1.c -o a1
gcc a2.c -o a2
运行:
./a1
a2 run
a2 return: 2
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
输出:
a2 run
a2 return: 2