Filed under: Software updates
Starting processes at boot time, and keeping them running, is not glamorous but it’s important (if your computer gets power cycled, it’s nice to have your applications bounce right back… but I’m sure you already do this).
I put together a utility called pmtr (process monitor) to run my application daemons at boot time, and restart them as needed. I wanted to keep all of these jobs defined in one place– one configuration file. No rooting around in sysvinit files. Just my application’s jobs, all in one place. Like this,
/etc/pmtr.conf
job {
name weather-server
cmd /usr/local/bin/weather -v
}
# this one keeps stderr and stdout
job {
name doppler-update
cmd /usr/bin/dop-up
dir /var/log
err dop.err
out dop.out
}
|
That’s a simple pmtr.conf with just two jobs. No rocket science – just two jobs, in one place. There’s a handful of job configuration options it supports.
A friend asked me to support “deltas” if you change the configuration file- and this turned into one of the most useful features. It’s really two handy features that go together: pmtr monitors the file (using inotify) for changes so you don’t have to signal it when you make a change; then, when it rescans the configuration, it only fiddles with the jobs you’ve actually changed. You can disable or reconfigure jobs, or add new ones, and have that take effect without disrupting the other ones.
It’s not sysvinit, it’s not upstart, it’s not sophisticated. It’s just … handy.
You can read more about pmtr on it’s GitHub page.
Leave a Comment so far
Leave a comment
