supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Alex Efros <powerman@powerman.name>
To: supervision@list.skarnet.org
Subject: Re: runsv and runsvdir problems
Date: Mon, 27 Oct 2008 19:30:48 +0200	[thread overview]
Message-ID: <20081027173048.GB12342@home.power> (raw)
In-Reply-To: <8e04b5820810271012h3d798033t3599cdc468482c89@mail.gmail.com>

Hi!

On Mon, Oct 27, 2008 at 07:12:21PM +0200, Ciprian Dorin Craciun wrote:
>     * first of all a lot of services are not started by default (by
> using the 'down' file), but this doesn't stop runsv to start the
> logger => could there be an option to start the loggers only when the
> server actually starts?

why starting these loggers bother you? they doesn't hurt anything

>     * if I send HUP to runsvdir /services it sends TERM to runsv
> /services/ciprian, which in turn sends TERM to runsvdir
> /services/ciprian which breaks, and leaves all my services dangling...
> => could there be an option to actually pass the same signal down the
> chain? (for example if I send TERM to runsv or runsvdir, it should
> send TERM downpath, and so for any other signal, for example USR1,
> etc.)

you can configure this behaviour - check CUSTOMIZE CONTROL in runsv(8)

>     * if I want to stop the runsvdir /services it sends the signal to
> all its children, but exists immediatly, and this is a problem if I
> stop it from an rc.0 or 6 script, because it should wait for all the
> children to actually stop; for now it leaves them dangling, and the
> unmounting of the file systems breaks... => could there be an option
> to actually make runsvdir to wait for it's children?
> 
>     * if a process takes to long to terminate (when it receives TERM
> signal), it would be nice for runsv to actually send KILL, but this
> should be configurable, as I wouldn't like to have runsv kill runsvdir
> like this;
 
I usually do this:

    # Give a chance for all processes for clean exit.
    # This also will kill all 'runsvdir' and signal all 'runsv' to exit.
    killall5 -15

    # ... some other de-initialization like hwclock --systohc

    sv force-stop /var/service/* &>/dev/null || :

    # ... more things to do while services stopping - save sound mixer
    # state, remember last random, shutdown network interfaces, etc.

    # Goodbye to everybody...
    killall5 -9

    # unmount and reboot

>     * (a small annoyance) it would be nice to be able to combine runsv
> and runsvdir into a single command, as this would reduce the number of
> runsv processes, until I actually need to start a service;

why starting these processes bother you? they doesn't hurt anything too

really, having small annoyance each time you do `ps` and see a lot of
small processes which do nothing useful except keeping all your system
services running in reliable way - is fairly acceptable. and you always
know how to run all your services in less reliable way with standard
/etc/rc.d/* scripts to avoid this annoyance

-- 
			WBR, Alex.


  reply	other threads:[~2008-10-27 17:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-27 17:12 Ciprian Dorin Craciun
2008-10-27 17:30 ` Alex Efros [this message]
2008-10-27 18:03   ` Ciprian Dorin Craciun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081027173048.GB12342@home.power \
    --to=powerman@powerman.name \
    --cc=supervision@list.skarnet.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).