supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Alejandro Mery <amery@geeks.cl>
Cc: supervision@list.skarnet.org
Subject: Re: runit-1.0.0 release
Date: Mon, 16 Feb 2004 19:04:40 -0300	[thread overview]
Message-ID: <40313E78.30705@geeks.cl> (raw)
In-Reply-To: <20040214122150.5818.qmail@8f3ccfd96ce13e.315fe32.mid.smarden.org>

Gerrit Pape wrote:

>On Thu, Feb 12, 2004 at 06:15:10PM -0300, Alejandro Mery wrote:
>  
>
>>i'm using runit on a ROCKLinux, (something betwen LFS and gentoo, but
>>it's crossplatform and your final product is an installable ISO
>>instead of a running system), here nothing else than runit itself stop
>>me to drop 100% sysvinit.
>>
>>i'm just waiting for the last basic tools of sysvinit, for some
>>    
>>
>
>What exactly are they?  I think runit is rather complete, you don't
>necessarily need pidof or local login accounting.  Also sulogin is not
>mandatory, you could also use some getty, e.g. fgetty.
>  
>
well only reboot and halt/poweroff are a must have. because they need to
run inside stages 3 to actually do the thing.
killall is at psmisc so no problem with it.
shutdown, last, lastb, mesg and wall are usefull administrative tools
bin/pidof is not need needed in pure supervised enviroment but... (see
fghack)

>>missing tools from daemontools like fghack (damn nullmailer) and to
>>    
>>
>
>Which ones beside fghack?  I personally don't use fghack, as it doesn't
>allow the service to be controlled through signals like other services.
>Instead of using fghack, the daemon really should be adapted, or as a
>workaround started from stage 1.
>  
>
fghack.... i haven't get an answer from nullmailer people and no time
yet to trace it. i agree that those daemons has to be addapted but
sometimes you don't have access to the source of the 'buggy' program or
you just don't know how to fix it (e.g. me and perl based daemons)
i don't know how fghack works but can i use it to warranty the restart
of the daemon if it crashes? can i use it to kill the daemon when needed?
moving them to stage 1 can follow a bad migration due to dependencies.

a workaround i did use was to loop forever after running it and
pidof/kill on ./finish, but pidof is not part of runit, so i would need
to 'fake' it using ps/grep/cut what's not optimal. (browsing /proc is a
worse idea for a ./finish)

>>finily trace why runit-3 waits for ever the active ssh sessions to
>>    
>>
>
>This is a feature.  Most probably you run sshd with a log service.
>runsv, when asked to exit, makes sure that all logs get written by the
>log service it additionally monitors for this service.  This is one
>reason why the service directory and the service/log directory are
>monitored by a single supervisor with runit.
>
>If runsv is told to take the sshd service down, it sends a term signal
>to the main sshd process.  The main sshd process then exits, but it has
>spawned children for active ssh connections, and leaves them alone.  If
>you run the sshd service with a appendant log service, the children have
>inherited filedescriptor 1, which is connected to the log service
>through a pipe.  The sshd/log service waits for data as long as there
>still are processes possibly writing data; you can set a timeout through
>svwaitdown though.
>  
>
i have...
echo 'Waiting for services to stop...'
svwaitdown -xk -t350 /service/*

and i got a *very* unconfortable state when one box had to reboot but it
passed the whole weekend in stage 3 just because one damn user didn't
close his ssh client.
there is a change to fix svwaitdown to signal grandsons after the
timeout, give them $t to suicide and if they still alive annihilate
their whole family and continue stage 3? .oO( that can be misunderstood
out of context )

>Without a sshd/log service, the behavior should change, but you lose the
>guarantee for your log.
>  
>
as i see it i completely lost the log

>Regards, Gerrit.
>  
>
Regards,
Alejandro Mery


  reply	other threads:[~2004-02-16 22:04 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-10 15:35 Gerrit Pape
2004-02-11  8:35 ` Lukas Beeler
2004-02-11 17:37   ` Gerrit Pape
2004-02-11 19:23 ` Richard A Downing FBCS
2004-02-11 20:43   ` Gerrit Pape
2004-02-12 17:41     ` Richard A Downing FBCS
2004-02-12 20:46       ` Gerrit Pape
2004-02-12 21:15         ` Alejandro Mery
2004-02-13  2:13           ` nullmailer & fghack? (was Re: runit-1.0.0 release) Charlie Brady
2004-02-13  2:32             ` Alejandro Mery
2004-02-13 15:29               ` Charlie Brady
2004-02-13 16:32                 ` Alejandro Mery
2004-02-14 12:22           ` runit-1.0.0 release Gerrit Pape
2004-02-16 22:04             ` Alejandro Mery [this message]
2004-02-19 16:15               ` Gerrit Pape
2004-02-19 21:03                 ` Stefan Karrmann
2004-02-11 22:05   ` Thomas Schwinge
2004-03-08 19:22 ` runit-1.0.1 release Gerrit Pape
2004-03-30 19:08   ` runit-1.0.2 release Gerrit Pape
2004-06-28  7:55     ` runit-1.0.3 release Gerrit Pape
2004-08-02 16:43       ` runit-1.0.4 release Gerrit Pape
2004-09-22 20:44         ` runit-1.0.5 release Gerrit Pape

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=40313E78.30705@geeks.cl \
    --to=amery@geeks.cl \
    --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).