| #include <stdio.h>
|
| #include <stdlib.h>
|
| #include <unistd.h>
|
|
|
| int main(int argc, char *argv[]) {
|
| printf("hello (pid:%d)\n", (int) getpid());
|
| int rc = fork();
|
| if (rc < 0) {
|
| // fork failed
|
| exit(1);
|
| } else if (rc == 0) {
|
| fprintf(stderr, "fork failed\n");
|
| // child (new process)
|
| printf("child (pid:%d)\n", (int) getpid());
|
| } else {
|
| // parent goes down this path (main)
|
| printf("parent of %d (pid:%d)\n",
|
| rc, (int) getpid());
|
| }
|
| return 0;
|
| }
|