>>101
一匁。
#include <stdio.h>
#include <unistd.h>
void grandchild(int gparent, int parent) {printf("child:%d\nparent:%d\ngparent:%d\n", getpid(), parent, gparent);}
void child(int parent)
{
int pid = getpid();
int x = fork();
if (x < 0) {
/* error */
} else if (x == 0) {
grandchild(parent, pid);
} else {
/* int status; */
/* wait(& status); */
}
}
void parent() {printf("one:%d\n", getpid());}
int main()
{
int pid = getpid();
int x = fork();
if (x < 0) {
} else if (x == 0) {
child(pid);
} else {
parent();
}
return 0;
}