Provided by: supervisor_3.3.1-1.1_all 

NAME
pidproxy - Supervisor pidproxy Documentation
Supervisor is a client/server system that allows its users to monitor and control a number of processes
on UNIX-like operating systems.
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 init 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.
OVERVIEW
pidproxy Program
Some processes (like mysqld) ignore signals sent to the actual process which is spawned by supervisord.
Instead, a "special" thread/process is created by these kinds of programs which is responsible for
handling signals. This is problematic because supervisord can only kill a process which it creates
itself. If a process created by supervisord creates its own child processes, supervisord cannot kill
them.
Fortunately, these types of programs typically write a "pidfile" which contains the "special" process'
PID, and is meant to be read and used in order to kill the process. As a workaround for this case, a
special pidproxy program can handle startup of these kinds of processes. The pidproxy 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.
[program:mysql]
command=/path/to/pidproxy /path/to/pidfile /path/to/mysqld_safe
The pidproxy program is put into your configuration's $BINDIR when supervisor is installed (it is a
"console script").
GLOSSARY
daemontools
A process control system by D.J. Bernstein.
runit A process control system.
AUTHOR
This man page was created by Orestis Ioannou <orestis@oioannou.com> using the official documentation.
COPYRIGHT
2004-2015, Agendaless Consulting and Contributors
3.2.0 December 10, 2015 PIDPROXY(1)