Commit 72e46b3a1e3322f59a591f1da1a63e362f4fc384
1 parent
d78d769b
add daemonize code from other project. (Might be integrated in a future class bu…
…t i am not sure right now
Showing
1 changed file
with
23 additions
and
0 deletions
src/daemonize.c
0 → 100644
1 | +#include <stdio.h> /* for printf() and fprintf() */ | ||
2 | +#include <unistd.h> /* for getopt */ | ||
3 | +#include <stdlib.h> | ||
4 | + | ||
5 | + | ||
6 | +void daemonize(void) { | ||
7 | + pid_t pid; | ||
8 | + | ||
9 | + if (0 > ((pid = fork()))) { | ||
10 | + perror("deamoinze[fork]"); | ||
11 | + exit(EXIT_FAILURE); | ||
12 | + } else if (0 != pid) { | ||
13 | + exit(EXIT_SUCCESS); | ||
14 | + } | ||
15 | + | ||
16 | + /* make new child session leader */ | ||
17 | + setsid(); | ||
18 | + | ||
19 | + /* connect all standard streams to /dev/null */ | ||
20 | + freopen("/dev/null", "w", stderr); | ||
21 | + freopen("/dev/null", "r", stdin); | ||
22 | + freopen("/dev/null", "w", stdout); | ||
23 | +} |
Please
register
or
login
to post a comment