1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
.\" Man page generated from reStructuredText.
.
.TH "PIDPROXY" "1" "December 10, 2015" "3.2.0" "Supervisor"
.SH NAME
pidproxy \- Supervisor pidproxy Documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
Supervisor is a client/server system that allows its users to monitor
and control a number of processes on UNIX\-like operating systems.
.sp
It shares some of the same goals of programs like launchd,
daemontools, and runit\&. Unlike some of these programs,
it is not meant to be run as a substitute for \fBinit\fP as "process id
1". Instead it is meant to be used to control processes related to a
project or a customer, and is meant to start like any other program at
boot time.
.SH OVERVIEW
.SS \fBpidproxy\fP Program
.sp
Some processes (like \fBmysqld\fP) ignore signals sent to the
actual process which is spawned by \fBsupervisord\fP\&. Instead, a
"special" thread/process is created by these kinds of programs which
is responsible for handling signals. This is problematic because
\fBsupervisord\fP can only kill a process which it creates
itself. If a process created by \fBsupervisord\fP creates its
own child processes, \fBsupervisord\fP cannot kill them.
.sp
Fortunately, these types of programs typically write a "pidfile" which
contains the "special" process\(aq PID, and is meant to be read and used
in order to kill the process. As a workaround for this case, a
special \fBpidproxy\fP program can handle startup of these kinds
of processes. The \fBpidproxy\fP program is a small shim that
starts a process, and upon the receipt of a signal, sends the signal
to the pid provided in a pidfile. A sample configuration program
entry for a pidproxy\-enabled program is provided below.
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[program:mysql]
command=/path/to/pidproxy /path/to/pidfile /path/to/mysqld_safe
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
The \fBpidproxy\fP program is put into your configuration\(aqs
\fB$BINDIR\fP when supervisor is installed (it is a "console script").
.SH GLOSSARY
.INDENT 0.0
.TP
.B daemontools
A \fI\%process control system by D.J. Bernstein\fP\&.
.TP
.B runit
A \fI\%process control system\fP\&.
.UNINDENT
.SH AUTHOR
This man page was created by Orestis Ioannou <orestis@oioannou.com> using the
official documentation.
.SH COPYRIGHT
2004-2015, Agendaless Consulting and Contributors
.\" Generated by docutils manpage writer.
.
|