diff options
Diffstat (limited to 'forkit.c')
| -rw-r--r-- | forkit.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/forkit.c b/forkit.c new file mode 100644 index 0000000..4fe062f --- /dev/null +++ b/forkit.c @@ -0,0 +1,24 @@ +#include <stdio.h> +#include <unistd.h> + +int main (int argc, char** argv) { + if (argc < 2) { + fprintf(stderr, "forkit: give something to fork\n"); + return 1; + } + + pid_t child_pid = fork(); + if (child_pid < 0) { + perror("forkit"); + return 1; + } + + if (child_pid > 0) { + printf("forkit: great success\n"); + return 0; + } + + execvp(argv[1], &argv[1]); + perror("forkit"); + return 1; +} |
