Initial import of fork_mult.c file
[eleutheria.git] / ipc / fork_mult.c
bloba767b376d4bb3dd0795359d98f8cac24ed47c26b
1 /* compile with:
2 gcc fork_mult.c -o fork_mult -Wall -W -Wextra -ansi -pedantic */
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <unistd.h>
8 #define NUM_CHILDS 5
10 int main(void)
12 pid_t pid[NUM_CHILDS];
13 int i;
15 for (i = 0; i < NUM_CHILDS; i++) {
16 if ((pid[i] = fork()) < 0) { /* fork errror */
17 perror("fork");
18 exit(EXIT_FAILURE);
20 else if (pid[i] > 0) { /* parent process */
22 else if (pid[i] == 0) { /* child process */
23 printf("Child[%d] = %d\n", i, getpid());
25 /* break, or else every child will spawan it's own children */
26 break;
29 return EXIT_SUCCESS;