Small process daemonization and monitorization tool.

Matt Schulte d0ce7a03b9 Remove GCC 4.x -std=c99 workaround 1 month ago
.builds 01ac554d89 Makefile: Eliminate GNU-isms 2 months ago
deps d0ce7a03b9 Remove GCC 4.x -std=c99 workaround 1 month ago
fallback 33e795e076 Makefile: Simplify, use wildcard for dependencies 2 months ago
.gitattributes d68fa46df4 Add .gitattributes to control archived files 2 months ago
.gitignore 792abaeb44 Make git ignore libdmon.a 2 months ago
CHANGELOG.md fc15fed5ce Version 0.5.0 2 months ago
COPYING 5fe3e2a1ae Added COPYING and (simple) README 10 years ago
Makefile 8c5e4bedd5 Add libsetunbuf LD_PRELOAD-able helper 1 month ago
README.md 8c5e4bedd5 Add libsetunbuf LD_PRELOAD-able helper 1 month ago
conf.c de226d2606 dmon: Bring back support for -C/--config 2 months ago
conf.h de226d2606 dmon: Bring back support for -C/--config 2 months ago
dlog.8 3f447e19d0 Reading of log input from arbitrary file descriptors 9 years ago
dlog.c 01ac554d89 Makefile: Eliminate GNU-isms 2 months ago
dlog.rst 3f447e19d0 Reading of log input from arbitrary file descriptors 9 years ago
dmon.8 de807246cf man: Add COUNT metavariable for -m/--max-respawns 1 month ago
dmon.c 5d8086aea3 Place #include <sys/sysinfo.h> in UCLIBC #ifdef 1 month ago
dmon.rst de807246cf man: Add COUNT metavariable for -m/--max-respawns 1 month ago
drlog.8 3f447e19d0 Reading of log input from arbitrary file descriptors 9 years ago
drlog.c 01ac554d89 Makefile: Eliminate GNU-isms 2 months ago
drlog.rst 3f447e19d0 Reading of log input from arbitrary file descriptors 9 years ago
dslog.8 3f447e19d0 Reading of log input from arbitrary file descriptors 9 years ago
dslog.c 01ac554d89 Makefile: Eliminate GNU-isms 2 months ago
dslog.rst 3f447e19d0 Reading of log input from arbitrary file descriptors 9 years ago
multicall.c b85b4a570a multicall: Support listing available applets 2 months ago
nofork.c c85f8eafe1 Fix file name in comment header 9 years ago
package.json fc15fed5ce Version 0.5.0 2 months ago
setunbuf.c 8c5e4bedd5 Add libsetunbuf LD_PRELOAD-able helper 1 month ago
task.c cb5f3b0e10 task: Remove stray CR in clog_debug() call 2 months ago
task.h ad0b37b9be task: Simplify and remove some dead code 5 months ago
util.c de226d2606 dmon: Bring back support for -C/--config 2 months ago
util.h de226d2606 dmon: Bring back support for -C/--config 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.