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"); +}