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