William Hubbs
913b2ca537
supervise-daemon: use RC_SVCNAME as the first argument to the daemon
...
This makes ps show which service the supervisor is monitoring.
2017-10-27 19:22:09 -05:00
William Hubbs
3fe99c8b82
supervise-daemon: fix logging for reexec and the child command line
2017-10-27 17:34:29 -05:00
William Hubbs
27b8183de2
log as supervise-daemon not the service
2017-10-27 15:33:47 -05:00
William Hubbs
f32d8e1bfe
supervise-daemon: clarify a log message
2017-10-26 17:01:17 -05:00
William Hubbs
d019f34a83
supervise-daemon: log the command line we run to spawn the child process
2017-10-26 13:57:04 -05:00
William Hubbs
bb9c481f02
supervise-daemon: log with the service name instead of "supervise-daemon"
2017-10-26 13:36:41 -05:00
William Hubbs
667a09983c
supervise-daemon: remove child_pid from saved options during shutdown
...
This allows us to detect when the supervisor dies unexpectedly because
in that case child_pid will still exist.
2017-10-26 12:58:59 -05:00
William Hubbs
3219ecd608
supervise-daemon: fix build issue for >=glibc-2.26
...
X-Gentoo-Bug: 635334
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=635334
2017-10-24 16:47:53 -05:00
William Hubbs
fdce4769f2
supervise-daemon: multiple fixes
...
- Harden against dying by handling all signals that would terminate the
program and adding --reexec support
- factor the supervisor into its own function
- fix test for whether we are already running
2017-10-24 10:26:18 -05:00
William Hubbs
35b1996704
supervise-daemon: elevate some log messages to warnings
...
Prior to this change, we were logging unexpected terminations of daemons
we were supervising at the info level. This change moves the logs to
warnings.
2017-10-18 18:07:50 -05:00
William Hubbs
1cac8b080c
ignore sigchld when shutting down the supervised process
...
We need to do this to skip the zombie state for the child process since
we are not easily able to wait() for it.
2017-09-18 16:59:18 -05:00
William Hubbs
b58194ef63
typo fix
2017-09-18 13:30:56 -05:00
William Hubbs
b28c0d6f66
typo fix
2017-09-18 13:03:34 -05:00
William Hubbs
3cf19b0f30
supervise-daemon: code cleanup
...
Clean up the process for killing an active supervisor when stopping.
2017-09-18 12:25:37 -05:00
William Hubbs
b0a077a35f
add quiet switch to do_stop in src-schedules.c
...
This allows supervise-daemon to run this code without attempting to
print some status messages used by start-stop-daemon.
2017-09-14 18:24:39 -05:00
William Hubbs
382efdbfcb
add quiet parameter to run_stop_schedule
2017-09-06 17:22:35 -05:00
William Hubbs
17b5cc78d3
add retry option to supervise-daemon
...
The --retry option for supervise-daemon defines how the supervisor will
attempt to stop the child process it is monitoring. It is defined when
the supervisor is started since stopping the supervisor just sends a
signal to the active supervisor.
This fixes #160 .
2017-09-06 17:22:21 -05:00
William Hubbs
cfbe9c2ede
move get_pid function to a shared file
2017-08-23 14:36:50 -05:00
William Hubbs
cbf96967f1
supervise-daemon: save start time and respawn count before dropping privs
2017-05-12 17:15:55 -05:00
William Hubbs
6b4050ab9c
fix from_time_t function
2017-05-11 16:22:12 -05:00
William Hubbs
cf5e9aa2bb
Move time_t conversions to rc-misc.c so they can be shared
2017-05-11 16:06:12 -05:00
William Hubbs
a3250e77d4
supervise-daemon: save start time and respawn count
...
This will allow rc-status to display an uptime and restart count for
supervised processes.
2017-05-11 13:54:20 -05:00
William Hubbs
df027ca472
supervise-daemon: fix our status when we give up on the child process
2017-05-11 11:36:42 -05:00
William Hubbs
4c89e3f5fa
supervise-daemon:create multiple options from --respawn-limit
...
This creates --respawn-delay, --respawn-max and --respawn-period. It was
suggested that it would be easier to follow if the options were
separated.
This is for #126 .
2017-05-10 18:13:23 -05:00
William Hubbs
3673040722
supervise-daemon: add a --respawn-limit option
...
Allow limiting the number of times supervise-daemon will attempt to respawn a
daemon once it has died to prevent infinite respawning. Also, set a
reasonable default limit (10 times in a 5 second period).
This is for issue #126 .
2017-05-09 18:30:08 -05:00
William Hubbs
96c8ba2fb5
supervise-daemon: mark all open file descriptors FD_CLOEXEC
2017-04-29 13:48:45 -05:00
William Hubbs
47cf1d0c70
supervise-daemon:remove the controlling tty in the supervisor
2017-04-29 12:04:15 -05:00
William Hubbs
06a6a27e44
supervise-daemon: fix access to tty_fd and devnull_fd
...
Both the child and supervisor need access to these file descriptors.
2017-04-29 10:12:16 -05:00
William Hubbs
5de3798afc
supervise-daemon: mark the service started when the supervisor is active
2017-04-29 09:41:07 -05:00
Benda Xu
c304522131
Clean up warnings that can use the _unused macro
...
X-Gentoo-Bug: 604666
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=604666
2017-01-04 17:18:35 -06:00
Benda Xu
92325b44ba
Indentation fixes
...
X-Gentoo-Bug: 604666
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=604666
2017-01-04 16:59:38 -06:00
William Hubbs
94077d264e
supervise-daemon: log the exit code or signal when a child process dies
2016-05-23 11:10:51 -05:00
William Hubbs
3b5a8b331e
supervise-daemon: add pam service file
2016-05-13 12:05:23 -05:00
William Hubbs
62410eaf4b
add daemon supervisor
...
The supervise-daemon process is meant to be a lightweight supervisor
which can monitor and restart a daemon if it crashes.
2016-04-27 11:13:50 -05:00