From 240a5d5ebf01d6935359e7ecf1b504c25278624e Mon Sep 17 00:00:00 2001 From: damage Date: Mon, 26 Aug 2024 22:00:11 +0200 Subject: [PATCH] fork example --- .gitignore | 1 + fork.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 fork.c diff --git a/.gitignore b/.gitignore index 722d5e7..e6cd088 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .vscode +fork \ No newline at end of file diff --git a/fork.c b/fork.c new file mode 100644 index 0000000..ef19eb9 --- /dev/null +++ b/fork.c @@ -0,0 +1,30 @@ +#include +#include +#include +#include +#include + +int main() { + for (int start = 0; start < 50; start += 10) { + pid_t pid = fork(); + if (pid == -1) { + fprintf(stderr, "Error forking: %s\n", strerror(errno)); + return 1; + } else if (pid == 0) { + // I AM FORK! + for (int i = start; i < start + 10; i++) { + printf("%d: %d\n", pid, i); + } + printf("Fork %d finished counting from %d\n", getpid(), start); + return 0; + } else { + printf("Fork %d successfull\n", pid); + } + } + + + fork(); + fork(); + fork(); + printf("Hello World\n"); +}