Small process daemonization and monitorization tool.

Adrian Perez de Castro 58802e457f xbuild: Disable a few non-working arches 2 years ago
.builds 01ac554d89 Makefile: Eliminate GNU-isms 3 years ago
deps d0ce7a03b9 Remove GCC 4.x -std=c99 workaround 3 years ago
fallback 33e795e076 Makefile: Simplify, use wildcard for dependencies 3 years ago
.gitattributes d68fa46df4 Add .gitattributes to control archived files 3 years ago
.gitignore 792abaeb44 Make git ignore libdmon.a 3 years ago
CHANGELOG.md 26ca79716a Version 0.5.1 2 years ago
COPYING 5fe3e2a1ae Added COPYING and (simple) README 13 years ago
Makefile 8c5e4bedd5 Add libsetunbuf LD_PRELOAD-able helper 3 years ago
README.md 8c5e4bedd5 Add libsetunbuf LD_PRELOAD-able helper 3 years ago
conf.c de226d2606 dmon: Bring back support for -C/--config 3 years ago
conf.h de226d2606 dmon: Bring back support for -C/--config 3 years ago
dlog.8 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
dlog.c 50b2d4d3f7 dlog: Avoid trying to close an invalid file descriptor 2 years ago
dlog.rst 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
dmon.8 de807246cf man: Add COUNT metavariable for -m/--max-respawns 3 years ago
dmon.c 5d8086aea3 Place #include <sys/sysinfo.h> in UCLIBC #ifdef 3 years ago
dmon.rst de807246cf man: Add COUNT metavariable for -m/--max-respawns 3 years ago
drlog.8 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
drlog.c 65565f9a09 d[r]log: Reduce size of iovec struct arrays 2 years ago
drlog.rst 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
dslog.8 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
dslog.c 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
dslog.rst 9e5aad64d4 d[sr]log: Add --skip-empty/-e command line option 2 years ago
multicall.c b85b4a570a multicall: Support listing available applets 3 years ago
nofork.c c85f8eafe1 Fix file name in comment header 12 years ago
package.json 26ca79716a Version 0.5.1 2 years ago
setunbuf.c 8c5e4bedd5 Add libsetunbuf LD_PRELOAD-able helper 3 years ago
task.c cb5f3b0e10 task: Remove stray CR in clog_debug() call 3 years ago
task.h ad0b37b9be task: Simplify and remove some dead code 3 years ago
util.c f2df4ba1ff Prevent logging from exiting on empty lines 2 years ago
util.h de226d2606 dmon: Bring back support for -C/--config 3 years ago
xbuild 58802e457f xbuild: Disable a few non-working arches 2 years ago

README.md

DMon - Process Monitoring With Style

builds.sr.ht status

This README contains only some random bits. For more in-depth writing, you may want to read the articles on DMon:

There are also manual pages, so please take a look at them.

Bulding standalone binaries

By default all tools are built into a single binary which can be symlinked with different names to switch between them (àla BusyBox). This is useful to save space and (to some degree) system memory.

You can build all the DMon tools as separate binaries passing MULTICALL=0 when invoking Make:

make MULTICALL=0

Remember to pass the option when doing make install as well:

make MULTICALL=0 install

Building libnofork.so

A tiny LD_PRELOAD-able “libnofork.so” library can be built by using the nofork Make target. This library overrides the fork(2) and daemon(3) functions from the system libraries, in such a way that the process under effect will not be able of forking. This is interesting for running DMon with programs that have no option to instruct them not to fork.

Building libsetunbuf.so

A tiny LD_PRELOAD-able "libsetunbuf.so" library can be built by using the setunbuf Make target. This library uses the __attribute__((constructor)) attribute in order to call setbuf(stdout, NULL); which turns off the buffering of stdout on the process running under DMon. This is useful for viewing the output of your process through DLog in real time.