main() { f(); g(); } f() { vfork(); } g() { int blast[100],i; for (i = 0; i < 100; i++) blast[i] = i; } |
Рисунок 9.29
struct fourmeg { int page[512]; /* пусть int занимает 4 байта */ } fourmeg[2048]; main() { for (;;) { switch(fork()) { case -1: /* процесс-родитель не может выполнить * fork --- слишком много потомков */ case 0: /* потомок */ func(); default: continue; } } } func() { int i; for (;;) { printf("процесс %d повторяет цикл\n",getpid()); for (i = 0; i < 2048; i++) fourmeg[i]290ge[0] = i; } } |
Рис. 9.30