From 349fde9f8825d44af159503cfb59dc496b2bb820 Mon Sep 17 00:00:00 2001 From: Stathis Kamperis Date: Thu, 2 Aug 2007 16:40:06 +0300 Subject: [PATCH] Initial import of fork_mult.c file --- ipc/fork_mult.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 ipc/fork_mult.c diff --git a/ipc/fork_mult.c b/ipc/fork_mult.c new file mode 100755 index 0000000..a767b37 --- /dev/null +++ b/ipc/fork_mult.c @@ -0,0 +1,30 @@ +/* compile with: + gcc fork_mult.c -o fork_mult -Wall -W -Wextra -ansi -pedantic */ + +#include +#include +#include + +#define NUM_CHILDS 5 + +int main(void) +{ + pid_t pid[NUM_CHILDS]; + int i; + + for (i = 0; i < NUM_CHILDS; i++) { + if ((pid[i] = fork()) < 0) { /* fork errror */ + perror("fork"); + exit(EXIT_FAILURE); + } + else if (pid[i] > 0) { /* parent process */ + } + else if (pid[i] == 0) { /* child process */ + printf("Child[%d] = %d\n", i, getpid()); + + /* break, or else every child will spawan it's own children */ + break; + } + } + return EXIT_SUCCESS; +} -- 2.11.4.GIT