summaryrefslogtreecommitdiff
path: root/forkit.c
blob: 4fe062f832a89024638f9e99c7cce9e5170f30aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
}