Small process daemonization and monitorization tool.

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