#include #include #include #include #include #include #include void child(int cnt) { while (cnt--) sched_yield(); exit(EXIT_SUCCESS); } int main(int argc, char **argv) { int status; int pids; int cnt; int i; if (argc != 3) { fprintf(stderr, "usage: %s \n", argv[0]); exit(EXIT_FAILURE); } cnt = atoi(argv[1]); pids = atoi(argv[2]); for (i = 0; i < pids; i++) { if (fork() == 0) child(cnt); } for (i = 0; i < pids; i++) wait(&status); exit(EXIT_SUCCESS); }