DMon status report: evolution to 0.3.7
4 October 2010
When I first wrote about DMon, I pointed out that version 0.3 could
be already installed from our APT repository, which hosts flavours
armel. Five weeks have passed and I feel like
I have to write a status update now that 0.3.7 is out. It is not a
big version number change because DMon behaves essentially as in 0.3,
but a number of new features were added and bugs fixed.
Let’s see which juicy bits are available on top of the features it already had:
- Additional groups can now be specified using the
-Uoptions. As a side effect of their extended syntax, options
-Gwere removed as they are no longer needed.
- Setting of resource usage limits is now supported with the
-r. This uses setrlimit(2) under the hood.
- DMon can now wait for some time before re-running commands by
specifying time intervals with the
-ioption. Think about it as a poor man’s recurrent job scheduler.
- Environment variables can now be manipulated (including deletion) by
means of the
- All commands (
dslog) can now be built as a single multicall binary. This saves disk space and some kilobytes of memory, which is interestinhg for embedded environments.
- Tools now honor the
DSLOG_OPTIONS; environment variables. When defined, they will be interpreted as additional command line arguments. Actual command line arguments take precedence, so values given in environment variablels can still be overriden.
- A small
libnofork.solibrary is included, which overrides the system-provided fork(2) and daemon(3) functions in such a way that the library can be preloaded (
dmon -E LD_PRELOAD=libnofork.so ....) to make programs not to fork. Very useful for applications which create new daemon processes inconditionally so they can be properly monitored. This is tested only under GNU/Linux with
glibcat the moment, use with care!
Apart from new features, a couple of bugs related to error handling were fixed, for better reliability.
Last but not least, I would like to thank my friend Andrés J. Díaz who is using DMon and provided feedback and ideas for some of those new features.