Re: user-specific services not working as documented?

From: Guy Matz <gmatz_at_matz.org>
Date: Wed, 15 Oct 2014 17:37:47 -0400

Thanks so much for the reply! I'm a little surprised that the package
install of runit didn't create the /service directory if it's required . .
. Is it /services or /service? anyway, I *think* as i have set up as
instructed, but still not looking good. Shouldn't I be using /etc/sv for
part of this? I'm trying to set up scratch-gmatz-sandbox-app-web which
runs these processes as the user maudit:
scratch-gmatz-sandbox-app-web-web
scratch-gmatz-sandbox-app-web-worker-1

root_at_ip-10-6-15-129:/mnt/maudit/service# ls -l /etc/service
total 4
lrwxrwxrwx 1 root root 19 Oct 13 18:42 chef-client -> /etc/sv/chef-client
drwxr-xr-x 3 root root 4096 Oct 15 21:11 scratch-gmatz-sandbox-app-web
root_at_ip-10-6-15-129:/mnt/maudit/service# ls -l
/etc/service/scratch-gmatz-sandbox-app-web/
total 4
lrwxrwxrwx 1 root root 52 Oct 15 21:11 run ->
/mnt/maudit/current/sv-scratch-gmatz-sandbox-app-web
drwx------ 2 root root 4096 Oct 15 21:26 supervise
root_at_ip-10-6-15-129:/mnt/maudit/service# cat
/etc/service/scratch-gmatz-sandbox-app-web/run
#!/usr/bin/env bash
set -e

exec 2>&1
exec chpst -u maudit runsvdir /mnt/maudit/service
root_at_ip-10-6-15-129:/mnt/maudit/service# ls -l /services/
total 0
lrwxrwxrwx 1 root root 42 Oct 15 21:28 scratch-gmatz-sandbox-app-web ->
/etc/service/scratch-gmatz-sandbox-app-web
root_at_ip-10-6-15-129:/mnt/maudit/service# ls -l /mnt/maudit/service
total 0
lrwxrwxrwx 1 root root 41 Oct 15 21:00 scratch-gmatz-sandbox-app-web-web ->
/etc/sv/scratch-gmatz-sandbox-app-web-web
lrwxrwxrwx 1 root root 46 Oct 15 21:00
scratch-gmatz-sandbox-app-web-worker-1 ->
/etc/sv/scratch-gmatz-sandbox-app-web-worker-1
root_at_ip-10-6-15-129:/mnt/maudit/service# ps auxwww | grep
scratch-gmatz-sandbox
root 4930 0.0 0.0 168 4 ? Ss 21:26 0:00 runsv
scratch-gmatz-sandbox-app-web
root 5020 0.0 0.0 8116 940 pts/3 S+ 21:33 0:00 grep
--color=auto scratch-gmatz-sandbox
root_at_ip-10-6-15-129:/mnt/maudit/service# ps auxwww | grep runs
root 4930 0.0 0.0 168 4 ? Ss 21:26 0:00 runsv
scratch-gmatz-sandbox-app-web
maudit 4931 0.0 0.0 192 28 ? S 21:26 0:00 runsvdir
/mnt/maudit/service
root 5022 0.0 0.0 8116 936 pts/3 S+ 21:33 0:00 grep
--color=auto runs
root 22617 0.0 0.0 192 28 ? Ss 21:14 0:00 runsvdir
-P /etc/service log: is not a tty?stdin: is not a tty?stdin: is not a
tty?stdin: is not a tty?stdin: is not a tty?stdin: is not a tty?stdin: is
not a tty?stdin: is not a tty?stdin: is not a tty?stdin: is not a
tty?stdin: is not a tty?stdin: is not a tty?stdin: is not a tty?stdin: is
not a tty?stdin: is not a tty?stdin: is not a tty?stdin: is not a
tty?stdin: is not a tty?stdin: is not a tty?stdin: is not a tty?.
root 22620 0.0 0.0 168 4 ? Ss 21:14 0:00 runsv
chef-client


Any thoughts would be greatly appreciated!

On Wed, Oct 15, 2014 at 4:09 PM, Avery Payne <avery.p.payne_at_gmail.com>
wrote:

> For runit, it's not what you want. You need to create a service entry for
> the given user in the system's /etc/service. Example:
>
> Alice would like to have foobar service controlled by her. She asks Bob to
> set up a user-specific service so she can do so. Bob creates a directory,
> /etc/services/runsvdir-alice, and places a run file in it. The run file
> has the following:
>
> #!/bin/sh
> exec 2>&1
> exec chpst -ualice runsvdir /home/alice/service
>
>
> Bob saves the /etc/services/runsvdir-alice/run file and then creates a
> symlink /services/runsvdir-alice that points to /etc/services/runsvdir.
> The existing system-level runsvdir then notices the new entry and launches
> a runsvdir service with Alice's permissions, etc. That runsvdir is under
> the control of Alice now; Alice can now define her own services in
> /home/alice/service and they will be supervised by her version of the
> runsvdir.
>
>
> On Wed, Oct 15, 2014 at 10:39 AM, Guy Matz <gmatz_at_matz.org> wrote:
>
> > Hi! On ubuntu 12.04 I'm following the doc here:
> > http://smarden.org/runit/faq.html#userservices
> >
> > The doc says I only need to link the user's service directory into
> > /etc/service, however it seems that user-specific services don't work
> > unless I also link the user's service directory into /etc/sv . . .
> >
> > Anyone know if this is correct behavior?
> >
> > Thanks,
> > Guy
> >
>
Received on Wed Oct 15 2014 - 21:37:47 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:18 UTC