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.asdfGroup.com>
To: supervision@list.skarnet.org
Subject: Re: runit not collecting zombies
Date: Sat, 7 Jul 2007 22:12:19 +0300	[thread overview]
Message-ID: <20070707191219.GA1538@home.power> (raw)
In-Reply-To: <Pine.LNX.4.64.0707071401520.6090@e-smith.charlieb.ott.istop.com>

Hi!

On Sat, Jul 07, 2007 at 02:13:48PM -0400, Charlie Brady wrote:
> What happens if your cron line is:
> 
> */1  * * * *   chpst -L /var/www/soft.p/html/.lib/var/.lock.service 
> runsvdir /var/www/soft.p/html/.lib/var/service/
> 
> ?
 
According to crontab(1):

    No attempt will be made to issue commands lost due to a reboot, and
    commands are not reissued if the previously issued command is still
    running.

it may be enough to do even this:

*/1  * * * *	runsvdir /var/www/soft.p/html/.lib/var/service/

But. I don't know how reliable this feature in my cron daemon (I'm using
`dcron') and how it realized. And I know `chpst -L` is reliable and I know
how it works. So I'd prefer to use known reliable solution.
(Moreover, cron daemon can be any, not only dcron - I'd like to use same
crontab configuration line which will work with any cron daemon.)

Anyway, my code can be 'overkill' or ugly, but it working correctly and
it does nothing really 'wrong'. Yeah, it produce zombie, but that zombie
must be reaped by process N1.

> Why are you starting a new runsvdir every minute?
 
Because I need to restart user-controlled services under runsvdir after
reboot without any special configuration done by 'root'.

> What are you actually trying to achieve? - perhaps someone can suggest a 
> less "unusual" design.

Okay. I've a several independent web projects. These projects are complex
enough, and contain not only CGI scripts and database, but also cron
scripts, command line utilities, and network daemons. All these
applications should not require 'root' to setup and should be 100%
manageable by user. 

To have single point for managing log files for all these scripts I run
separate `socklog unix /custom/path` for each of these web projects, and
all scripts (CGI, cron, network daemons, etc.) in each project use that
'/custom/path' (different for each project, of course) UNIX socket for logging.

So, I need at least single 'service' for each web project: socklog.
Some projects also have other custom services like network daemons.
All these services should be running as reliable as usual system services
in /var/service/* and should be restarted after system reboot.

I solved this by using runsvdir to run services and using user's crontab
to start (and restart after system reboot or killing runsvdir) runsvdir.

To avoid multiple execution of runsvdir for same directory with services
I use `chpst -L`.

That's all.

-- 
			WBR, Alex.


  reply	other threads:[~2007-07-07 19:12 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-24 23:07 Radek Podgorny
2007-05-26 10:35 ` Alex Efros
2007-05-26 10:45   ` Alex Efros
2007-05-26 12:55   ` Charlie Brady
2007-05-26 13:03     ` Alex Efros
2007-05-26 17:01   ` Paul Jarc
2007-06-02 14:55     ` Alex Efros
2007-06-03 11:10   ` Gerrit Pape
2007-06-03 14:33     ` Alex Efros
2007-06-03 16:31       ` Gerrit Pape
2007-06-11 13:11     ` Alex Efros
2007-06-18 13:45       ` Alex Efros
2007-06-19 18:13         ` Gerrit Pape
2007-06-19 19:07           ` Alex Efros
2007-06-20 16:23             ` Gerrit Pape
2007-06-20 16:57               ` Alex Efros
2007-06-20 18:35                 ` Gerrit Pape
2007-06-23  4:42                   ` Alex Efros
2007-06-26  9:59                     ` Gerrit Pape
2007-07-07  7:16                       ` Alex Efros
2007-07-07 18:13                         ` Charlie Brady
2007-07-07 19:12                           ` Alex Efros [this message]
2007-07-12 14:21                             ` Charlie Brady
2007-07-12 14:41                               ` Alex Efros
2007-07-12 14:45                                 ` Charlie Brady
2007-07-12 14:57                                   ` Alex Efros
2007-07-12 14:42                           ` Charlie Brady
2007-07-12 14:43                             ` Charlie Brady
2007-07-12 14:49                             ` Alex Efros
2007-07-12 15:11                               ` Charlie Brady
2007-07-12 15:15                                 ` Alex Efros
2007-07-12 15:40                                   ` Charlie Brady
2007-07-15 14:47                       ` Alex Efros
2007-07-15 19:07                         ` Alex Efros
2007-07-15 20:18                           ` George Georgalis
2007-07-15 20:31                             ` Paul Jarc
2007-07-15 22:35                               ` George Georgalis
2007-07-15 23:06                                 ` Paul Jarc
2007-07-15 23:23                                   ` Charlie Brady
2007-07-16  0:09                                     ` Alex Efros
2007-07-16  2:11                                       ` Charlie Brady
2007-09-12 12:53                                         ` Radek Podgorny
     [not found]                                         ` <47939.::ffff:77.75.72.5.1189601606.squirrel@mail.podgorny.cz>
2007-09-12 13:55                                           ` Charlie Brady
2007-09-12 14:35                                             ` Alex Efros
2007-09-12 14:55                                               ` Charlie Brady
2007-09-12 15:00                                                 ` Alex Efros
2007-09-12 16:02                                                   ` Charlie Brady
2007-09-12 16:10                                                     ` Radek Podgorny
2007-09-12 17:22                                                     ` Alex Efros
2007-09-12 17:40                                                       ` Charlie Brady
2007-09-12 18:18                                                         ` Alex Efros
2007-09-12 19:07                                                           ` Charlie Brady
2007-09-12 19:13                                                             ` Alex Efros
2007-09-12 19:18                                                               ` Charlie Brady
2007-09-12 19:30                                                                 ` Alex Efros
2007-09-12 19:37                                                                   ` Charlie Brady
2007-09-15 13:36                                                                 ` Alex Efros
2007-09-15 13:57                                                                   ` Alex Efros
2007-09-15 15:20                                                                     ` Charlie Brady
2007-09-15 15:28                                                                       ` Alex Efros
2007-09-15 15:47                                                                         ` Charlie Brady
2007-09-15 16:02                                                                           ` Alex Efros
2007-09-15 15:49                                                                         ` Charlie Brady
2007-09-15 15:55                                                                           ` Alex Efros
2007-09-15 16:02                                                                             ` Charlie Brady
2007-09-15 15:36                                                                       ` Alex Efros
2007-09-15 15:58                                                                         ` Charlie Brady
2007-09-15 14:03                                                                   ` Alex Efros
2007-09-17  7:56                                                                   ` Gerrit Pape
2007-09-17  9:07                                                                     ` Radek Podgorny
2007-09-17 11:59                                                                     ` Alex Efros
2007-09-18  8:14                                                                       ` Gerrit Pape
2007-09-18 11:33                                                                         ` Alex Efros
2007-09-18 11:45                                                                         ` Laurent Bercot
2011-02-15 13:12                                                                         ` [LONG] " Laurent Bercot
2011-02-15 15:00                                                                           ` Alex Efros
2011-02-15 15:22                                                                             ` Laurent Bercot
2007-09-12 16:04                                                   ` Radek Podgorny
     [not found]                                                   ` <35517.::ffff:77.75.72.5.1189613042.squirrel@mail.podgorny.cz>
2007-09-12 17:04                                                     ` Alex Efros
2007-09-12 19:38                                                       ` Mike Buland
2007-09-12 20:28                                                         ` Alex Efros
2007-09-12 20:38                                                           ` Alex Efros
2007-09-13  1:05                                                           ` Mike Buland
2007-09-13  8:58                                                       ` Radek Podgorny
     [not found]                                                       ` <50411.::ffff:77.75.72.5.1189673890.squirrel@mail.podgorny.cz>
2007-09-13 10:57                                                         ` Alex Efros
2007-09-13 12:06                                                           ` Alex Efros
2007-09-13 14:31                                                           ` Radek Podgorny
     [not found]                                                           ` <51910.::ffff:77.75.72.5.1189693860.squirrel@mail.podgorny.cz>
2007-09-13 14:51                                                             ` Alex Efros
2007-07-16  2:24                                   ` George Georgalis
2007-07-01  8:43                   ` Radek Podgorny
2007-07-02  8:28                     ` Gerrit Pape
2007-07-02 11:23                       ` Radek Podgorny
2007-07-02 12:14                         ` Gerrit Pape
2007-07-02 12:42                           ` Radek Podgorny
2007-07-07  4:54                       ` Alex Efros
2007-06-20 19:57                 ` Charlie Brady
2008-02-25  7:25 ` Alex Efros
2008-02-25 14:57   ` Charlie Brady
2008-02-25 15:23     ` Radek Podgorny
     [not found]     ` <59012.::ffff:77.75.72.226.1203952988.squirrel@mail.podgorny.cz>
2008-02-25 15:26       ` George Georgalis
2008-02-25 15:32       ` Charlie Brady
2008-02-25 16:17         ` Alex Efros
2008-02-25 17:20       ` Mike Buland
2008-02-25 15:27   ` Radek Podgorny
     [not found]   ` <34616.::ffff:77.75.72.226.1203953244.squirrel@mail.podgorny.cz>
2008-02-25 16:15     ` Alex Efros
2008-02-27  8:19   ` Bernhard Graf
2008-02-27  8:36     ` Alex Efros
2008-02-27  8:58       ` Bernhard Graf
     [not found] ` <F694D808C0BB4890A12C565F68B9A691@home.internal>
2008-02-25 16:24   ` rehan khan
2008-02-25 16:27     ` Charlie Brady
     [not found]     ` <54B6D6D6D32D4DB685F8CA9A836076D7@home.internal>
2008-02-25 17:11       ` rehan khan
2008-02-25 19:13     ` Charlie Brady
2008-10-21 21:46 ` Alex Efros

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=20070707191219.GA1538@home.power \
    --to=powerman@powerman.asdfgroup.com \
    --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).