]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
fork.2: EXAMPLES: Add simple example using fork(2) without wait(2)
authorAlejandro Colomar <alx.manpages@gmail.com>
Wed, 30 Mar 2022 14:23:04 +0000 (16:23 +0200)
committerAlejandro Colomar <alx.manpages@gmail.com>
Wed, 30 Mar 2022 14:23:04 +0000 (16:23 +0200)
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
man2/fork.2

index 3a731f0e713e6fa7507cd5fb5d6cf455f087cd18..7260d7db441c3daea6042581ed4ca9e6c325056d 100644 (file)
@@ -295,7 +295,42 @@ established using
 See
 .BR pipe (2)
 and
-.BR wait (2).
+.BR wait (2)
+for more examples.
+.PP
+.\" SRC BEGIN (fork.c)
+.EX
+#include <signal.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(void)
+{
+    pid_t pid;
+
+    if (signal(SIGCHLD, SIG_IGN) == SIG_ERR) {
+        perror("signal");
+        exit(EXIT_FAILURE);
+    }
+    pid = fork();
+    switch (pid) {
+    case -1:
+        perror("fork");
+        exit(EXIT_FAILURE);
+    case 0:
+        puts("Child exiting.");
+        exit(EXIT_SUCCESS);
+    default:
+        printf("Child is PID %jd\en", (intmax_t) pid);
+        puts("Parent exiting.");
+        exit(EXIT_SUCCESS);
+    }
+}
+.EE
+.\" SRC END
 .SH SEE ALSO
 .BR clone (2),
 .BR execve (2),