АнглийскийФранцузскийИспанский

Значок OnWorks

руководитель - онлайн в облаке

Запуск супервизора в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это командный супервизор, который можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


супервайзер - Супервайзер Документация

Supervisor - это система клиент / сервер, которая позволяет пользователям отслеживать и контролировать количество
процессов в UNIX-подобных операционных системах.

Он преследует те же цели, что и такие программы, как launchd, daemontools и runit. В отличие от
некоторые из этих программ не предназначены для использования вместо инициализации как "идентификатор процесса
1 ". Вместо этого он предназначен для управления процессами, связанными с проектом или
client, и он должен запускаться, как и любая другая программа, во время загрузки.

РАССКАЗ ДОКУМЕНТАЦИЯ


Введение
Обзор
Supervisor - это система клиент / сервер, которая позволяет пользователям контролировать ряд
процессы в UNIX-подобных операционных системах. Он был вдохновлен следующим:

Удобство
Часто бывает неудобно писать жк.д скрипты для каждого процесса
пример. жк.д скрипты - отличная форма процесса с наименьшим общим знаменателем
инициализация / автозапуск / управление, но писать и поддерживать их может быть сложно.
Кроме того, жк.д скрипты не могут автоматически перезапустить аварийный процесс, и многие
программы не перезапускаются должным образом при сбое. Супервайзер запускает процессы
в качестве своих подпроцессов и может быть настроен на их автоматический перезапуск в случае сбоя.
Его также можно автоматически настроить для запуска процессов по собственному вызову.

точность
Часто бывает сложно получить точный статус работы процессов в UNIX. Pidfiles
часто врут. Supervisord запускает процессы как подпроцессы, поэтому он всегда знает истинное
состояние его дочерних элементов вверх / вниз и может быть удобно запрошено для этих данных.

Делегация
Пользователям, которым необходимо контролировать состояние процесса, часто нужно только это сделать. Они не хотят или
нужен полноценный доступ оболочки к машине, на которой выполняются процессы.
Процессы, которые прослушивают "низкие" TCP-порты, часто необходимо запускать и перезапускать как
пользователь root (ошибка UNIX). Обычно бывает так, что разрешить
«нормальные» люди, чтобы остановить или перезапустить такой процесс, но предоставив им доступ к оболочке
часто непрактично, и предоставление им доступа с правами root или sudo часто
невозможно. Им также (справедливо) сложно объяснить, почему существует эта проблема.
Если supervisord запускается как root, можно разрешить "нормальным" пользователям управлять
такие процессы без необходимости объяснять им тонкости проблемы.
Supervisorctl предоставляет очень ограниченную форму доступа к машине, по сути позволяя
пользователи могут видеть статус процесса и управлять подпроцессами, контролируемыми супервизором, путем отправки
команды «стоп», «запуск» и «перезапуск» из простой оболочки или веб-интерфейса.

Группы процессов
Процессы часто нужно запускать и останавливать группами, иногда даже в "приоритетном порядке".
порядок ». Людям часто сложно объяснить, как это сделать. Супервайзер разрешает
вы назначаете приоритеты процессам и позволяет пользователю отправлять команды через
клиент supervisorctl, например «запустить все» и «перезапустить все», который запускает их в
предварительно назначенный порядок приоритета. Кроме того, процессы можно сгруппировать в «процесс
группы »и набор логически связанных процессов можно останавливать и запускать как единое целое.

Особенности
просто
Supervisor настраивается с помощью простого файла конфигурации в стиле INI, который легко изучить.
Он предоставляет множество опций для каждого процесса, которые облегчают вашу жизнь, например, сбой перезапуска
процессы и автоматическая ротация журналов.

Централизованное
Supervisor предоставляет вам единое место для запуска, остановки и наблюдения за вашими процессами.
Процессами можно управлять индивидуально или в группах. Вы можете настроить Supervisor на
предоставить локальную или удаленную командную строку и веб-интерфейс.

Эффективный
Супервизор запускает свои подпроцессы через fork / exec, и подпроцессы не демонизируются. В
операционная система немедленно сигнализирует супервизору о завершении процесса, в отличие от некоторых
решения, которые полагаются на проблемные файлы PID и периодический опрос для перезапуска, не удались
процессов.

растяжимый
В Supervisor есть простой протокол уведомления о событиях, который позволяет писать программы на любом языке.
язык может использовать его для мониторинга и интерфейс XML-RPC для управления. Он также построен
с точками расширения, которые могут быть использованы разработчиками Python.

совместимый
Supervisor работает практически со всем, кроме Windows. Протестировано и
поддерживается в Linux, Mac OS X, Solaris и FreeBSD. Он полностью написан на Python,
поэтому для установки не требуется компилятор C.

Доказанный
Хотя Supervisor сегодня очень активно развивается, это не новое программное обеспечение. Руководитель
существует уже много лет и уже используется на многих серверах.

Руководитель Компоненты
руководитель
Серверная часть супервизора называется руководитель. Он отвечает за запуск
дочерние программы по собственному вызову, отвечая на команды от клиентов, перезапуская
сбой или завершение подпроцесса, регистрация подпроцесса стандартный вывод и STDERR выход, и
создание и обработка «событий», соответствующих точкам времени жизни подпроцесса.

Серверный процесс использует файл конфигурации. Обычно это находится в
/etc/supervisord.conf. Этот файл конфигурации представляет собой файл конфигурации в стиле "Windows-INI".
Важно обеспечить безопасность этого файла с помощью соответствующих разрешений файловой системы, поскольку он
могут содержать незашифрованные имена пользователей и пароли.

супервизорктл
Клиентская часть супервизора командной строки называется супервизорктл, Это обеспечивает
подобный оболочке интерфейс к функциям, предоставляемым руководитель. От супервизорктл, чтобы
пользователь может подключаться к разным руководитель процессы, получить статус подпроцессов
контролируются, останавливают и запускают подпроцессы, а также получают списки запущенных процессов
руководитель.

Клиент командной строки общается с сервером через сокет домена UNIX или через Интернет.
(TCP) сокет. Сервер может утверждать, что пользователь клиента должен представить
учетные данные аутентификации, прежде чем он позволит ему выполнять команды. Клиент
процесс обычно использует тот же файл конфигурации, что и сервер, но любую конфигурацию
файл с [супервизорктл] раздел в нем будет работать.

веб-сервер
(Редкий) веб-интерфейс пользователя с функциональностью, сопоставимой с супервизорктл может быть
доступ через браузер, если вы запустите руководитель против интернет-розетки. Посетить
URL-адрес сервера (например, http://localhost: 9001 /) для просмотра и управления статусом процесса через
веб-интерфейс после активации файла конфигурации [inet_http_сервер] .

XML-RPC интерфейс
Тот же HTTP-сервер, который обслуживает веб-интерфейс, обслуживает интерфейс XML-RPC, который может быть
используется для опроса и управления супервизором и программами, которые он запускает. См. Xml_rpc.

Платформа Требования
Supervisor был протестирован и, как известно, работает в Linux (Ubuntu 9.10), Mac OS X
(10.4 / 10.5 / 10.6) и Solaris (10 для Intel) и FreeBSD 6.1. Скорее всего, он будет нормально работать на
большинство систем UNIX.

Супервайзер будет запускать вообще под любой версией винды.

Известно, что Supervisor работает с Python 2.4 или новее, но не будет работать ни с одной версией.
из Python 3.

Бег Руководитель
В этом разделе содержится ссылка на БИНДИР объясняя, как запустить руководитель и
супервизорктл команды. Это каталог "bindir", который есть в вашей установке Python.
был настроен с помощью. Например, для установки Python, установленного через
. / Настроить --prefix = / usr / local / py; делать; сделать устанавливать, БИНДИР был бы / USR / местные / ру / бен.
Интерпретаторы Python на разных платформах используют разные БИНДИР. Посмотрите на вывод
setup.py устанавливать если ты не можешь понять, где твоя.

Добавление a Программа
Перед тем, как руководитель сделает для вас что-нибудь полезное, вам нужно добавить хотя бы один
программа раздел к его конфигурации. В программа раздел определит программу, которая
запускать и управлять, когда вы вызываете руководитель команда. Чтобы добавить программу, вам необходимо
редактировать supervisard.conf .

Одна из самых простых программ для запуска - это UNIX. кошка программа. А программа .
это будет работать кошка когда окно руководитель процесс запуска показан ниже.

[программа: foo]
команда =/ bin / cat

Эту строфу можно вырезать и вставить в supervisard.conf файл. Это самый простой
возможна конфигурация программы, потому что она только называет команду. Конфигурация программы
В разделах есть много других параметров конфигурации, которые здесь не показаны. Видеть
programx_section для получения дополнительной информации.

Бег руководитель
Для начала руководитель, бежать $ BINDIR / супервайзер. В результате процесс будет демонизировать
сам и отсоединиться от терминала. Журнал операций ведется по адресу $ CWD / supervisor.log by
по умолчанию.

Вы можете начать руководитель исполняемый файл на переднем плане, передав -n флаг на его
командная строка. Это полезно для устранения проблем с запуском.

ПРЕДУПРЕЖДЕНИЕ:
После появления руководитель запускается, он будет искать свой файл конфигурации по умолчанию
места включая текущий работает каталог. Если вы заботитесь о безопасности, вы
вероятно, захочет указать аргумент "-c" после руководитель команда с указанием
абсолютный путь к файлу конфигурации, чтобы никто не обманул вас
запуск супервизора из каталога, содержащего мошенническую supervisard.conf .
Выдается предупреждение, когда супервизор запускается как root без этого -c аргумент.

Для изменения набора программ, контролируемых руководитель, отредактируйте supervisard.conf файл
и убивать -ХУП или иным образом перезапустите руководитель процесс. В этом файле есть несколько примеров
определения программ.

" руководитель Команда принимает ряд параметров командной строки. Каждая из этих команд
параметры строки отменяют любое эквивалентное значение в файле конфигурации.

руководитель Командная строка Возможности
-c ФАЙЛОВ, --configuration =ФАЙЛОВ
Путь к руководитель Файл конфигурации.

-n, --nodaemon
Run руководитель на переднем плане.

-h, --Помогите
Показать руководитель команда help.

-u USER, --user =USER
Имя пользователя UNIX или числовой идентификатор пользователя. Если руководитель запускается как пользователь root,
setuid этому пользователю как можно скорее во время запуска.

-m Восьмеричный, --umask =Восьмеричный
Восьмеричное число (например, 022), представляющее маску, которая должна использоваться руководитель
после того, как он начнется.

-d PATH, --directory =PATH
Когда supervisord запускается как демон, перейдите в этот каталог перед демонированием.

-l ФАЙЛОВ, --logfile =ФАЙЛОВ
Путь к имени файла для использования в качестве журнала активности супервизора.

-y БАЙТОВ, --logfile_maxbytes =БАЙТОВ
Максимальный размер файла журнала активности супервизора до ротации. Значение
умножается на суффикс, например, «1» - это один байт, «1MB» - это 1 мегабайт, «1GB» - это 1
гигабайт.

-y NUM, --logfile_backups =NUM
Количество хранимых резервных копий журнала активности супервизора. Каждый
файл журнала будет иметь размер logfile_maxbytes.

-e УРОВЕНЬ, --loglevel =УРОВЕНЬ
Уровень ведения журнала, на котором супервизор должен записывать в журнал активности. Действительный
уровни прослеживать, отлаживать, info, предупреждать, ошибкаи критической.

-j ФАЙЛОВ, --pidfile =ФАЙЛОВ
Имя файла, в которое супервизор должен записывать свой файл pid.

-i STRING, --identifier =STRING
Произвольный строковый идентификатор, предоставляемый различными пользовательскими интерфейсами клиента для этого экземпляра
руководитель.

-q PATH, --childlogdir =PATH
Путь к каталогу (он уже должен существовать), в который супервизор будет писать свои AUTO
-mode логи дочерних процессов.

-k, --nocleanup
Предотвращать руководитель от выполнения очистки (удаления старых AUTO файлы журнала процесса)
при запуске.

-a NUM, --minfds =NUM
Минимальное количество файловых дескрипторов, которые должны быть доступны супервизору
процесс, прежде чем он начнется успешно.

-t, --strip_ansi
Удалите escape-последовательности ANSI из всех дочерних процессов журнала.

-v, --версия
Выведите номер версии супервизора на стандартный вывод и выйдите.

--profile_options =СПИСОК
Список параметров, разделенных запятыми для профилирования. Причины руководитель бежать под
профилировщик и вывод результатов на основе параметров, которые представляют собой список, разделенный запятыми
из следующих: кумулятивный, призывы, звонящие, Например кумулятивно, звонящие.

--minprocs =NUM
Минимальное количество слотов процессов ОС, которые должны быть доступны супервизору
процесс, прежде чем он начнется успешно.

супервизорктл Командная строка Возможности
-c, --конфигурация
Путь к файлу конфигурации (по умолчанию /etc/supervisord.conf)

-h, --Помогите
Распечатать сообщение об использовании и выйти

-i, - интерактивный
Запуск интерактивной оболочки после выполнения команд

-s,--serverurl URL
URL-адрес, который прослушивает сервер супервизора (по умолчанию "http://localhost: 9001").

-u, --имя пользователя
Имя пользователя для аутентификации на сервере

-p, --пароль
Пароль для аутентификации на сервере

-r, --история-файл
Вести журнал строки чтения (если строка чтения доступна)

действие [аргументы]

Действия - это команды типа «хвост» или «стоп». Если указан -i или не указано действие
в командной строке запускается «оболочка», интерпретирующая действия, вводимые в интерактивном режиме. Использовать
действие «помощь», чтобы узнать о доступных действиях.

Бег супервизорктл
Для начала супервизорктл, бежать $ BINDIR / supervisorctl. Будет представлена ​​оболочка, которая будет
позволяют вам контролировать процессы, которыми в настоящее время управляет руководитель. Типа "помощь"
в приглашении, чтобы получить информацию о поддерживаемых командах.

" супервизорктл исполняемый файл может быть вызван с помощью "одноразовых" команд, если он вызван с
аргументы из командной строки. Пример: супервизорктл остановить ВСЕ. Если аргументы
присутствует в командной строке, это предотвратит запуск интерактивной оболочки.
Вместо этого будет выполнена команда и супервизорктл выйдет.

If супервизорктл вызывается в интерактивном режиме против руководитель что требует
аутентификации, вам будет предложено ввести учетные данные для аутентификации.

Сигналы
" руководитель программе могут быть отправлены сигналы, которые заставляют ее выполнять определенные действия
пока он работает.

Вы можете отправить любой из этих сигналов на сингл руководитель идентификатор процесса. Идентификатор этого процесса
можно найти в файле, представленном pid-файл Параметр в [супервайзер] .
конфигурационного файла (по умолчанию $ CWD / supervisord.pid).

сигнал Обработчики
СИГТЕРМ
руководитель и все его подпроцессы будут закрыты. Это может занять несколько секунд.

SIGINT
руководитель и все его подпроцессы будут закрыты. Это может занять несколько секунд.

ТАК МНОГО
руководитель и все его подпроцессы будут закрыты. Это может занять несколько секунд.

ПОДПИСАТЬСЯ
руководитель остановит все процессы, перезагрузит конфигурацию из первой конфигурации
найденный файл, и перезапустите все процессы.

СИГУСР2
руководитель закроет и снова откроет основной журнал активности и все дочерние файлы журналов.

Время выполнения Охрана
Разработчики приложили все усилия, чтобы гарантировать, что использование руководитель процесс работает как
root не может привести к непреднамеренному повышению привилегий. Но предостережение покупатель. Супервайзер
не такой параноидальный, как демонические инструменты DJ Bernstein, поскольку руководитель
позволяет указать произвольный путь в своем файле конфигурации, в который могут быть
написано. Разрешение произвольного выбора пути может создать уязвимости из символической ссылки
атаки. Будьте осторожны при указании путей в вашей конфигурации. Убедитесь, что
руководитель файл конфигурации не может быть прочитан или записан непривилегированными пользователями и
что все файлы, установленные пакетом супервизора, имеют "нормальную" защиту прав доступа к файлам
настройки. Кроме того, убедитесь, что ваш PYTHONPATH разумно, и что все стандартные Python
файлы библиотеки имеют адекватную защиту прав доступа к файлам.

Бег руководитель автоматически on ввод в эксплуатацию
Если вы используете дистрибутивную версию Supervisor, она уже должна быть
интегрированы в инфраструктуру управления услугами вашего дистрибутива.

Пользовательские скрипты для различных операционных систем можно найти по адресу:
https://github.com/Supervisor/initscripts

На Serverfault есть несколько ответов на случай, если вы застрянете: Как в автоматически Начало
руководитель on Linux (Убунту)

Конфигурация Файл
Файл конфигурации Supervisor обычно называется supervisard.conf, Используется
изоферменты печени руководитель и супервизорктл. Если какое-либо приложение запущено без -c
option (опция, которая используется, чтобы сообщить приложению имя файла конфигурации
явно), приложение будет искать файл с именем supervisard.conf в
следующие местоположения в указанном порядке. Он будет использовать первый найденный файл.

1. $ CWD / supervisord.conf

2. $ CWD / etc / supervisord.conf

3. /etc/supervisord.conf

4. ../etc/supervisord.conf (Относительно исполняемого файла)

5. ../supervisord.conf (Относительно исполняемого файла)

ПРИМЕЧАНИЕ:
Некоторые дистрибутивы содержат пакет Supervisor со своими собственными настройками. Эти
модифицированные версии Supervisor могут загружать файл конфигурации из других мест.
чем описанные здесь. Примечательно, что были обнаружены пакеты Ubuntu, которые используют
/etc/supervisor/supervisord.conf.

Файл Формат
supervisard.conf - это файл в стиле Windows INI (Python ConfigParser). В нем есть разделы (каждый
обозначается [заголовок]) и пары ключ / значение в разделах. Разделы и их
допустимые значения описаны ниже.

Окружающая среда Переменные
Переменные среды, которые присутствуют в среде в то время, когда руководитель is
Start может использоваться в файле конфигурации с использованием синтаксиса строкового выражения Python
% (ENV_X) с:

[программа: пример]
команда = / usr / bin / example --loglevel =% (ENV_LOGLEVEL) s

В приведенном выше примере выражение % (ENV_LOGLEVEL) с будет увеличено до значения
переменная окружения ЛОГИЧЕСКИЙ УРОВЕНЬ.

ПРИМЕЧАНИЕ:
В Supervisor 3.2 и более поздних версиях % (ENV_X) с выражения поддерживаются во всех вариантах. В
в предыдущих версиях некоторые параметры их поддерживают, но большинство - нет. Документацию для
каждый вариант ниже.

[unix_http_сервер] Раздел Настройки
" supervisard.conf файл содержит раздел с именем [unix_http_сервер] под которым
параметры конфигурации для HTTP-сервера, который прослушивает сокет домена UNIX, должны быть
вставлен. Если в файле конфигурации нет [unix_http_сервер] раздел, домен UNIX
HTTP-сервер сокета не запускается. Допустимые значения конфигурации:
следующим образом.

[unix_http_сервер] Раздел Наши ценности
файл
Путь к сокету домена UNIX (например, /tmp/supervisord.sock) на котором руководитель будет
прослушивать запросы HTTP / XML-RPC. супервизорктл использует XML-RPC для связи с
руководитель через этот порт. Эта опция может включать значение % (здесь) s, который расширяет
в каталог, в котором руководитель файл конфигурации найден.

По умолчанию: Нет.

необходимые: Нет

Введенный: 3.0

CHMOD
Измените биты режима разрешений UNIX сокета домена UNIX на это значение в
запускать.

По умолчанию: 0700

необходимые: Нет

Введенный: 3.0

Чаун
Измените пользователя и группу файла сокета на это значение. Может быть именем пользователя UNIX
(например миро) или имя пользователя и группа UNIX, разделенные двоеточием (например, мир: колесо).

По умолчанию: Используйте имя пользователя и группу пользователя, который запускает супервизор.

необходимые: Нет

Введенный: 3.0

username
Имя пользователя, необходимое для аутентификации на этом HTTP-сервере.

По умолчанию: Имя пользователя не требуется.

необходимые: Нет

Введенный: 3.0

password
Пароль, необходимый для аутентификации на этом HTTP-сервере. Это может быть открытый текст
пароль, или может быть указан как хэш SHA-1, если перед ним стоит строка {ША}. Для
пример, {SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d это версия файла, хранящаяся в SHA.
пароль "пароль".

Обратите внимание, что хешированный пароль должен быть в шестнадцатеричном формате.

По умолчанию: Пароль не требуется.

необходимые: Нет

Введенный: 3.0

[unix_http_сервер] Раздел Пример
[unix_http_сервер]
файл = /tmp/supervisor.sock
чмод = 0777
chown = никто: nogroup
имя пользователя = пользователь
пароль = 123

[inet_http_сервер] Раздел Настройки
" supervisard.conf файл содержит раздел с именем [inet_http_сервер] под которым
параметры конфигурации для HTTP-сервера, который прослушивает TCP (Интернет) сокет, должны
быть вставленным. Если в файле конфигурации нет [inet_http_сервер] раздел, inet HTTP
сервер не запускается. Допустимые значения конфигурации следующие.

[inet_http_сервер] Раздел Наши ценности
порт
Хост TCP: значение порта или (например, 127.0.0.1:9001) на котором супервизор будет слушать
Запросы HTTP / XML-RPC. супервизорктл будет использовать XML-RPC для связи с руководитель
через этот порт. Чтобы прослушивать все интерфейсы в машине, используйте : 9001 or *: 9001.

По умолчанию: По умолчанию нет.

необходимые: Да.

Введенный: 3.0

username
Имя пользователя, необходимое для аутентификации на этом HTTP-сервере.

По умолчанию: Имя пользователя не требуется.

необходимые: Нет

Введенный: 3.0

password
Пароль, необходимый для аутентификации на этом HTTP-сервере. Это может быть открытый текст
пароль, или может быть указан как хэш SHA-1, если перед ним стоит строка {ША}. Для
пример, {SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d это версия файла, хранящаяся в SHA.
пароль "пароль".

Обратите внимание, что хешированный пароль должен быть в шестнадцатеричном формате.

По умолчанию: Пароль не требуется.

необходимые: Нет

Введенный: 3.0

[inet_http_сервер] Раздел Пример
[inet_http_сервер]
порт = 127.0.0.1:9001
имя пользователя = пользователь
пароль = 123

[супервайзер] Раздел Настройки
" supervisard.conf файл содержит раздел с именем [супервайзер] в каких глобальных настройках
связанный с руководитель процесс должен быть вставлен. Это следующие.

[супервайзер] Раздел Наши ценности
журнальный файл
Путь к журналу активности супервизора. Этот вариант может включать
ценностное % (здесь) s, который расширяется до каталога, в котором конфигурация супервизора
файл был найден.

По умолчанию: $ CWD / supervisord.log

необходимые: Нет

Введенный: 3.0

logfile_maxbytes
Максимальное количество байтов, которое может быть использовано файлом журнала активности до его использования.
повернутый (в значении можно использовать суффиксные множители, такие как «КБ», «МБ» и «ГБ»). Установленный
это значение равно 0, чтобы указать неограниченный размер журнала.

По умолчанию: 50MB

необходимые: Нет

Введенный: 3.0

logfile_backups
Количество хранимых резервных копий в результате ротации файла журнала активности. Если установлено
на 0, резервные копии не будут сохраняться.

По умолчанию: 10

необходимые: Нет

Введенный: 3.0

уровень журнала
Уровень ведения журнала, определяющий, что записывается в журнал активности супервизора. Один из
критической, ошибка, предупреждать, info, отлаживать, прослеживатьили болтовня. Обратите внимание, что на уровне журнала отлаживать,
файл журнала супервизора будет записывать вывод stderr / stdout его дочерних процессов
и расширенная информация об изменениях состояния процесса, которая полезна для отладки
процесс, который не запускается должным образом. См. Также: activity_log_levels.

По умолчанию: Информация

необходимые: Нет

Введенный: 3.0

pid-файл
Местоположение, в котором supervisord хранит свой файл pid. Этот вариант может включать
ценностное % (здесь) s, который расширяется до каталога, в котором конфигурация супервизора
файл был найден.

По умолчанию: $ CWD / supervisord.pid

необходимые: Нет

Введенный: 3.0

Umask
Маска супервизора.

По умолчанию: 022

необходимые: Нет

Введенный: 3.0

нодэмон
Если true, supervisord будет запускаться на переднем плане вместо демонизации.

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0

Минфдс
Минимальное количество файловых дескрипторов, которые должны быть доступны, прежде чем супервизор сможет
начать успешно. Будет сделан вызов setrlimit, чтобы попытаться поднять мягкую и
жесткие ограничения процесса надзора для удовлетворения Минфдс. Жесткий предел может быть только
возникает, если супервизор запускается от имени пользователя root. supervisord широко использует файловые дескрипторы, и
войдет в режим сбоя, если его нельзя получить из ОС, поэтому полезно
возможность указать минимальное значение, чтобы гарантировать, что они не закончатся во время выполнения.
Этот параметр особенно полезен в Solaris, который имеет низкий лимит fd для каждого процесса на
по умолчанию.

По умолчанию: 1024

необходимые: Нет

Введенный: 3.0

минпроцессы
Минимальное количество дескрипторов процессов, которые должны быть доступны перед супервизором.
начнется успешно. Будет сделан вызов setrlimit, чтобы попытаться поднять мягкую
и жесткие ограничения процесса надзора для удовлетворения минпроцессы. Жесткий предел может
может быть поднят только в том случае, если supervisord запущен от имени пользователя root. супервизор перейдет в режим отказа
когда в ОС заканчиваются дескрипторы процесса, поэтому полезно убедиться, что достаточно
дескрипторы процессов доступны по руководитель запускать.

По умолчанию: 200

необходимые: Нет

Введенный: 3.0

ночистка
Запретить супервизору очистить существующие AUTO дочерние файлы журнала во время запуска.
Полезно для отладки.

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0

дочерний каталог
Каталог, используемый для AUTO дочерние файлы журналов. Эта опция может включать значение
% (здесь) s, который расширяется до каталога, в котором руководитель файл конфигурации
был найден.

По умолчанию: значение Python tempfile.get_tempdir ()

необходимые: Нет

Введенный: 3.0

пользователь
инструктировать руководитель переключить пользователей на эту учетную запись пользователя UNIX перед выполнением любых
осмысленная обработка. Пользователь может быть переключен только в том случае, если руководитель начинается как
пользователь root. Если руководитель не может переключать пользователей, он все равно продолжится, но напишет
сообщение журнала на критической уровень, говоря, что он не может потерять привилегии.

По умолчанию: не переключать пользователей

необходимые: Нет

Введенный: 3.0

каталог
После появления руководитель демонизирует, переключитесь в этот каталог. Этот вариант может включать
ценностное % (здесь) s, который расширяется до каталога, в котором руководитель конфигурация
файл был найден.

По умолчанию: не cd

необходимые: Нет

Введенный: 3.0

Strip_ansi
Удалите все escape-последовательности ANSI из дочерних файлов журнала.

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0

охрана окружающей среды
Список пар ключ / значение в форме KEY = "val", KEY2 = "val2" который будет помещен в
руководитель процесс 'среда (и, как следствие, весь его дочерний процесс'
среды). Эта опция может включать значение % (здесь) s, который расширяется до
каталог, в котором был найден файл конфигурации супервизора. Ценности, содержащие
не буквенно-цифровые символы должны быть заключены в кавычки (например, KEY = "val: 123", KEY2 = "val, 456").
В противном случае указывать значения в кавычках необязательно, но рекомендуется. Чтобы избежать процентов
символов, просто используйте два. (например URI = "/ первое %% 20name") Внимание что подпроцессы будут
наследовать переменные среды оболочки, используемой для запуска руководитель кроме
переопределенные здесь и в пределах программы охрана окружающей среды вариант. Видеть
подпроцесс_среда.

По умолчанию: нет значений

необходимые: Нет

Введенный: 3.0

идентификатор
Строка идентификатора для этого процесса супервизора, используемая интерфейсом RPC.

По умолчанию: руководитель

необходимые: Нет

Введенный: 3.0

[супервайзер] Раздел Пример
[супервайзер]
файл журнала = /tmp/supervisord.log
logfile_maxbytes = 50 МБ
logfile_backups = 10
loglevel = информация
pidfile = /tmp/supervisord.pid
nodaemon = ложь
минфдс = 1024
минпрокс = 200
маска = 022
пользователь = миро
идентификатор = руководитель
каталог = / Tmp
nocleanup = правда
дочерний_каталог = / Tmp
strip_ansi = ложь
среда = KEY1 = "значение1", KEY2 = "значение2"

[супервизорктл] Раздел Настройки
Файл конфигурации может содержать настройки для супервизорктл интерактивная оболочка
программа. Эти варианты перечислены ниже.

[супервизорктл] Раздел Наши ценности
URL-адрес сервера
URL-адрес, который следует использовать для доступа к серверу супервизора, например
http://localhost: 9001. Для сокетов домена UNIX используйте
unix: ///absolute/path/to/file.sock.

По умолчанию: http://localhost: 9001

необходимые: Нет

Введенный: 3.0

username
Имя пользователя, передаваемое на сервер супервизора для использования при аутентификации. Это должно
быть таким же, как username из конфигурации сервера супервизора для порта или UNIX
сокет домена, к которому вы пытаетесь получить доступ.

По умолчанию: Нет имени пользователя

необходимые: Нет

Введенный: 3.0

password
Пароль для передачи серверу супервизора для использования при аутентификации. Это должно
быть открытой текстовой версией password из конфигурации сервера супервизора для
порт или сокет домена UNIX, к которому вы пытаетесь получить доступ. Это значение нельзя передать как
хеш SHA. В отличие от других паролей, указанных в этом файле, он должен быть указан в
открытый текст.

По умолчанию: Нет пароля

необходимые: Нет

Введенный: 3.0

подсказка
Строка, используемая как подсказка supervisorctl.

По умолчанию: руководитель

необходимые: Нет

Введенный: 3.0

файл_истории
Путь для использования в качестве Readline постоянный файл истории. Если вы включите эту функцию
выбрав путь, ваши команды supervisorctl будут сохранены в файле, и вы можете использовать
строка чтения (например, стрелка вверх) для вызова команд, которые вы выполнили в своем последнем supervisorctl
сессия.

По умолчанию: Нет файла

необходимые: Нет

Введенный: 3.0а5

[супервизорктл] Раздел Пример
[супервизорктл]
serverurl = unix: ///tmp/supervisor.sock
имя пользователя = Крис
пароль = 123
подсказка = mysupervisor

[программа: x] Раздел Настройки
Файл конфигурации должен содержать один или несколько программа разделы по заказу супервайзера
чтобы знать, какие программы следует запускать и контролировать. Значение заголовка - составное значение.
Это слово «программа», за которым сразу следует двоеточие, а затем имя программы. Заголовок
Значение [программа: foo] описывает программу с именем «foo». Имя используется
в клиентских приложениях, которые управляют процессами, которые создаются в результате этого
конфигурация. Ошибка при создании программа раздел, у которого нет имени. В
имя не должно включать символ двоеточия или скобку. Значение имени
используется как значение для % (имя_программы) s расширение строкового выражения внутри других значений
где указано.

ПРИМЕЧАНИЕ:
A [программа: x] раздел фактически представляет для руководителя "однородную группу процессов"
(по состоянию на 3.0). Члены группы определяются комбинацией Numprocs
и Имя процесса параметры в конфигурации. По умолчанию, если numprocs и
process_name остаются неизменными по сравнению с их значениями по умолчанию, группа, представленная
[программа: x] будет назван x и будет иметь единственный процесс с именем x в этом. Этот
обеспечивает небольшую обратную совместимость со старыми выпусками супервизора, которые
не рассматривать разделы программы как определения однородных групп процессов.

Но, например, если у вас есть [программа: foo] раздел с Numprocs 3 и
Имя процесса выражение % (имя_программы) s _% (номер_процесса) 02d, группа "foo" будет
содержат три процесса с именами фу_00, фу_01и фу_02. Это дает возможность
запускать несколько очень похожих процессов, используя один [программа: x] раздел. Все
имена файлов журнала, все строки среды и команды программ также могут содержать
похожие строковые выражения Python, чтобы передавать немного разные параметры каждому
процесса.

[программа: x] Раздел Наши ценности
команду
Команда, которая будет запущена при запуске этой программы. Команда может быть либо
абсолютный (например, / путь / к / имени программы) или родственник (например, имя программы). Если это
родственник, окружение начальника $ PATH будет выполняться поиск исполняемого файла.
Программы могут принимать аргументы, например / путь / к / программе Foo бар. В командной строке можно использовать
двойные кавычки для группировки аргументов с пробелами в них для передачи программе, например
/ путь / к / программе / имени -p "фу бар". Обратите внимание, что значение команду может включать Python
строковые выражения, например / путь / к / имени программы --port = 80% (номер_процесса) 02d может расшириться
в / путь / к / имени программы --port = 8000 во время выполнения. Строковые выражения оцениваются
против словаря, содержащего ключи имя группы, имя_узла_хоста, номер_процесса,
имя_программы, здесь (каталог конфигурационного файла супервизора), и все
переменные среды supervisord с префиксом ЕНВ_. Контролируемые программы должны
сами не являются демонами, поскольку супервизор предполагает, что он несет ответственность за демонизацию своего
подпроцессы (см. отсутствие демонстрации_подпроцессов).

По умолчанию: По умолчанию нет.

необходимые: Да.

Введенный: 3.0

Имя процесса
Строковое выражение Python, которое используется для создания имени процесса супервизора для этого
процесс. Обычно вам не нужно беспокоиться об установке этого параметра, если вы не измените
Numprocs. Строковое выражение оценивается по словарю, который включает
имя группы, имя_узла_хоста, номер_процесса, имя_программыи здесь (справочник
файл конфигурации supervisord).

По умолчанию: % (имя_программы) s

необходимые: Нет

Введенный: 3.0

Numprocs
Supervisor запустит столько экземпляров этой программы, сколько указано в numprocs. Примечание
что если numprocs> 1, Имя процесса выражение должно включать % (process_num) s (или любой
другое допустимое строковое выражение Python, которое включает номер_процесса) внутри.

По умолчанию: 1

необходимые: Нет

Введенный: 3.0

numprocs_start
Целочисленное смещение, которое используется для вычисления числа, при котором Numprocs начинается.

По умолчанию: 0

необходимые: Нет

Введенный: 3.0

приоритет
Относительный приоритет программы в порядке запуска и остановки. Ниже
приоритеты указывают программы, которые запускаются первыми и завершают работу при запуске, а также когда
в различных клиентах используются агрегированные команды (например, «запустить все» / «остановить все»). Выше
приоритеты указывают программы, которые запускаются последними и завершаются первыми.

По умолчанию: 999

необходимые: Нет

Введенный: 3.0

автоматический старт
Если true, эта программа запустится автоматически при запуске супервизора.

По умолчанию: правда

необходимые: Нет

Введенный: 3.0

стартовые секунды
Общее количество секунд, в течение которых программа должна работать после запуска, чтобы
считать начало успешным (перенос процесса из ЗАПУСК заявить
БЕГ штат). Установлен в 0 чтобы указать, что программа не должна продолжать работу в течение какого-либо
определенное количество времени.

ПРИМЕЧАНИЕ:
Даже если процесс завершается с «ожидаемым» кодом выхода (см. коды выхода), начало
будет по-прежнему считаться неудачным, если процесс завершится быстрее, чем стартовые секунды.

По умолчанию: 1

необходимые: Нет

Введенный: 3.0

попытки
Количество последовательных попыток сбоя, которые руководитель позволит при попытке
запустить программу, прежде чем сдаться и поставить процесс на FATAL штат. Видеть
process_states для объяснения FATAL состоянии.

По умолчанию: 3

необходимые: Нет

Введенный: 3.0

автоперезапуск
Указывает, если руководитель должен автоматически перезапускать процесс, если он завершается, когда он
в БЕГ штат. Может быть одним из ложный, неожиданныйили правда. Если ложный, процесс
не будет перезапущен автоматически. Если неожиданный, процесс будет перезапущен, когда
программа завершается с кодом выхода, который не является одним из кодов выхода, связанных с этим
конфигурация процесса (см. коды выхода). если правда, процесс будет безоговорочно
перезапускается при выходе, независимо от кода выхода.

ПРИМЕЧАНИЕ:
автоперезапуск контролирует, есть ли руководитель автоматически перезапустит программу, если она завершится
после успешного запуска (процесс находится в БЕГ штат).

руководитель имеет другой механизм перезапуска, когда процесс запускается
(процесс находится в ЗАПУСК штат). Повторные попытки при запуске процесса
контролируется стартовые секунды и попытки.

По умолчанию: непредвиденный

необходимые: Нет

Введенный: 3.0

коды выхода
Список "ожидаемых" кодов выхода для этой программы, используемой с автоперезапуск, Если
автоперезапуск параметр установлен в неожиданный, и процесс завершится иначе, чем
в результате запроса супервизора об остановке, руководитель перезапустит процесс, если он
завершается с кодом выхода, который не определен в этом списке.

По умолчанию: 0,2

необходимые: Нет

Введенный: 3.0

стоп-сигнал
Сигнал, используемый для завершения программы при запросе остановки. Это может быть любой СРОК,
HUP, INT, QUIT, KILL, USR1 или USR2.

По умолчанию: СРОК

необходимые: Нет

Введенный: 3.0

стоп-ваитсек
Количество секунд ожидания, пока ОС вернет SIGCHILD в руководитель после
программе был отправлен стоп-сигнал. Если это количество секунд пройдет до того, как
руководитель получает SIGCHILD от процесса, руководитель попытается убить его
с финальным SIGKILL.

По умолчанию: 10

необходимые: Нет

Введенный: 3.0

стопасгрупп
Если true, флаг заставляет супервизор отправить сигнал остановки всей группе процессов.
и подразумевает килласгрупп правда. Это полезно для программ, таких как Flask при отладке.
режим, который не передает сигналы остановки своим детям, оставляя их сиротами.

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0b1

килласгрупп
Если истина, то при использовании отправки SIGKILL программе для завершения она отправляет его на свой
вместо этого целая группа процессов, заботясь также о своих дочерних элементах, что полезно, например, с
Программы Python, использующие многопроцессорная обработка.

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0а11

пользователь
инструктировать руководитель использовать эту учетную запись пользователя UNIX в качестве учетной записи, которая запускает
программа. Пользователь может быть переключен только в том случае, если руководитель запускается от имени пользователя root. Если
руководитель невозможно переключиться на указанного пользователя, программа не запустится.

ПРИМЕЧАНИЕ:
Пользователь будет изменен с помощью УИП Только. Это не запускает оболочку входа в систему и
не изменяет переменные среды, такие как USER or Главная страница. Посмотреть
subprocess_environment для подробностей.

По умолчанию: Не переключать пользователей

необходимые: Нет

Введенный: 3.0

redirect_stderr
Если true, то вывод stderr процесса будет отправлен обратно в руководитель на его стандартном выходе
дескриптор файла (в терминах оболочки UNIX это эквивалент выполнения /программа
2> & 1).

ПРИМЕЧАНИЕ:
Не устанавливать redirect_stderr = правда в [прослушиватель событий: x] раздел. Слушатели событий
использование стандартный вывод и STDIN общаться с руководитель. Если STDERR перенаправлен,
Вывод из STDERR будет мешать протоколу слушателя событий.

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0 заменяет 2.0 log_stdout и log_stderr

stdout_logfile
Поместите вывод stdout процесса в этот файл (и если redirect_stderr истинно, также поместите
stderr в этом файле). Если stdout_logfile не установлен или установлен на AUTO, руководитель
автоматически выберет местоположение файла. Если это установлено на NONE, руководитель будет
не создавать файл журнала. AUTO файлы журналов и их резервные копии будут удалены, когда руководитель
перезапускается. В stdout_logfile value может содержать строковые выражения Python, которые будут
оценивается по словарю, содержащему ключи имя группы, имя_узла_хоста,
номер_процесса, имя_программыи здесь (каталог конфигурационного файла супервизора).

ПРИМЕЧАНИЕ:
Два процесса не могут использовать один файл журнала (stdout_logfile)
при вращении (stdout_logfile_maxbytes) включен. Это приведет к созданию файла
поврежден.

По умолчанию: AUTO

необходимые: Нет

Введенный: 3.0 заменяет 2.0 журнальный файл

stdout_logfile_maxbytes
Максимальное количество байтов, которое может быть использовано stdout_logfile до того, как он будет повернут
(в значении могут использоваться суффиксные множители, такие как «КБ», «МБ» и «ГБ»). Установите это
значение 0, чтобы указать неограниченный размер журнала.

По умолчанию: 50MB

необходимые: Нет

Введенный: 3.0 заменяет 2.0 logfile_maxbytes

stdout_logfile_backups
Количество stdout_logfile резервные копии для хранения, полученные из журнала стандартного вывода процесса
ротация файлов. Если установлено значение 0, резервные копии не будут храниться.

По умолчанию: 10

необходимые: Нет

Введенный: 3.0 заменяет 2.0 logfile_backups

stdout_capture_maxbytes
Максимальное количество байтов, записываемых для захвата FIFO, когда процесс находится в "режиме захвата стандартного вывода"
(см. capture_mode). Должно быть целым числом (суффиксные множители, такие как «КБ», «МБ» и «ГБ»
можно использовать в значении). Если это значение равно 0, режим захвата процесса будет отключен.

По умолчанию: 0

необходимые: Нет

Введенный: 3.0 заменяет 2.0 logfile_backups

stdout_events_enabled
Если истина, события PROCESS_LOG_STDOUT будут испускаться, когда процесс записывает в свой
дескриптор файла stdout. События будут отправляться только в том случае, если дескриптор файла не
в режиме захвата в момент получения данных (см. capture_mode).

По умолчанию: 0

необходимые: Нет

Введенный: 3.0а7

stderr_logfile
Поместите вывод процесса stderr в этот файл, если redirect_stderr правда. Принимает
те же типы значений, что и stdout_logfile и может содержать те же строковые выражения Python.

ПРИМЕЧАНИЕ:
Два процесса не могут использовать один файл журнала (stderr_logfile)
при вращении (stderr_logfile_maxbytes) включен. Это приведет к созданию файла
поврежден.

По умолчанию: AUTO

необходимые: Нет

Введенный: 3.0

stderr_logfile_maxbytes
Максимальное количество байтов перед ротацией файла журнала для stderr_logfile. Принимает
те же типы значений, что и stdout_logfile_maxbytes.

По умолчанию: 50MB

необходимые: Нет

Введенный: 3.0

stderr_logfile_backups
Число хранимых резервных копий в результате ротации файла журнала stderr процесса.
Если установлено значение 0, резервные копии не будут храниться.

По умолчанию: 10

необходимые: Нет

Введенный: 3.0

stderr_capture_maxbytes
Максимальное количество байтов, записываемых для захвата FIFO, когда процесс находится в "режиме захвата stderr"
(см. capture_mode). Должно быть целым числом (суффиксные множители, такие как «КБ», «МБ» и «ГБ»
можно использовать в значении). Если это значение равно 0, режим захвата процесса будет отключен.

По умолчанию: 0

необходимые: Нет

Введенный: 3.0

stderr_events_enabled
Если истина, события PROCESS_LOG_STDERR будут испускаться, когда процесс записывает в свой
дескриптор файла stderr. События будут отправляться только в том случае, если дескриптор файла не
в режиме захвата в момент получения данных (см. capture_mode).

По умолчанию: ложный

необходимые: Нет

Введенный: 3.0а7

охрана окружающей среды
Список пар ключ / значение в форме KEY = "val", KEY2 = "val2" который будет помещен в
среда дочернего процесса. Строка окружения может содержать строку Python
выражения, которые будут оцениваться по словарю, содержащему имя группы,
имя_узла_хоста, номер_процесса, имя_программыи здесь (справочник руководителя
config файл). Значения, содержащие не буквенно-цифровые символы, должны быть заключены в кавычки (например,
KEY = "val: 123", KEY2 = "val, 456"). В противном случае цитирование значений необязательно, но
рекомендуется. Внимание что подпроцесс унаследует переменные среды
оболочка использовалась для запуска "супервизора", за исключением тех, которые здесь переопределены. Видеть
подпроцесс_среда.

По умолчанию: Без дополнительной среды

необходимые: Нет

Введенный: 3.0

каталог
Путь к файлу, представляющий каталог, в который руководитель должен временно чдир
перед выполнением ребенка.

По умолчанию: Нет chdir (наследовать супервизора)

необходимые: Нет

Введенный: 3.0

Umask
Восьмеричное число (например, 002, 022), представляющее маску процесса.

По умолчанию: Нет специальной маски umask (наследуется супервизора)

необходимые: Нет

Введенный: 3.0

URL-адрес сервера
URL-адрес, переданный в среде процессу подпроцесса как SUPERVISOR_SERVER_URL
(См. супервизор.childutils), чтобы подпроцесс мог легко взаимодействовать с
внутренний HTTP-сервер. Если предоставляется, он должен иметь тот же синтаксис и структуру, что и
[супервизорктл] одноименный вариант раздела. Если он установлен на АВТО или не установлен,
супервизор автоматически создаст URL-адрес сервера, отдавая предпочтение серверу
который прослушивает сокеты домена UNIX по сравнению с сокетом, который прослушивает интернет-сокет.

По умолчанию: АВТО

необходимые: Нет

Введенный: 3.0

[программа: x] Раздел Пример
[программа: кошка]
команда =/ bin / cat
имя_процесса =% (имя_программы) s
numprocs = 1
каталог =/ Tmp
umask = 022
Приоритет = 999
autostart = true
autorestart = неожиданно
startsecs = 10
startretries = 3
коды выхода = 0,2
stopignal = TERM
stopwaitsecs = 10
stopasgroup = false
killasgroup = ложь
user = chrism
redirect_stderr = ложь
stdout_logfile = / а / путь
stdout_logfile_maxbytes = 1 МБ
stdout_logfile_backups = 10
stdout_capture_maxbytes = 1 МБ
stdout_events_enabled = ложь
stderr_logfile = / а / путь
stderr_logfile_maxbytes = 1 МБ
stderr_logfile_backups = 10
stderr_capture_maxbytes = 1 МБ
stderr_events_enabled = ложь
environment = A = "1", B = "2"
serverurl = АВТО

[включают] Раздел Настройки
" supervisard.conf файл может содержать раздел с именем [включают]. Если конфигурация
файл содержит [включают] раздел, он должен содержать единственный ключ с именем "files". В
значения в этом ключе указывают другие файлы конфигурации, которые будут включены в
конфигурации.

[включают] Раздел Наши ценности
файлов
Последовательность файловых глобусов, разделенных пробелами. Каждая файловая глобус может быть абсолютной или относительной.
Если глобус файла относительный, он считается относительно местоположения
файл конфигурации, который включает его. "Глоб" - это шаблон файла, который соответствует
указанный шаблон в соответствии с правилами, используемыми оболочкой Unix. Нет расширения тильды
сделано, но *, ?, и диапазоны символов, выраженные с помощью [] будут правильно сопоставлены.
Рекурсивные включения из включенных файлов не поддерживаются.

По умолчанию: По умолчанию нет (обязательно)

необходимые: Да.

Введенный: 3.0

[включают] Раздел Пример
[включают]
files = /an/absolute/filename.conf /an/absolute/*.conf foo.conf config ??. conf

[группа: x] Раздел Настройки
Часто бывает полезно сгруппировать «однородные» группы процессов (также известные как «программы») в единое целое.
«разнородная» группа процессов, поэтому ими можно управлять как единым целым с супервайзера.
различные интерфейсы контроллера.

Чтобы поместить программы в группу, чтобы вы могли рассматривать их как единое целое, определите [группа: x] .
в вашем файле конфигурации. Значение заголовка группы является составным. Это слово
«группа», за которым следует двоеточие, а затем имя группы. Значение заголовка [группа: foo]
описывает группу с именем «foo». Имя используется в клиентских приложениях
которые управляют процессами, созданными в результате этой конфигурации. Это
ошибка при создании группы раздел, у которого нет имени. Имя не должно содержать
двоеточие или скобка.

Для [группа: x], должно быть одно или несколько [программа: x] разделы в другом месте в вашем
файл конфигурации, и группа должна ссылаться на них по имени в программы значения.

Если «однородные» группы процессов (представленные разделами программы) поместить в
«гетерогенная» группа через [группа: x] раздела программы линии, однородные группы, которые
подразумевается, что раздел программы не будет существовать во время выполнения в супервизоре. Вместо этого все
процессы, принадлежащие каждой из однородных групп, будут помещены в
гетерогенная группа. Например, учитывая следующую конфигурацию группы:

[группа: foo]
программы = бар, баз
Приоритет = 999

Учитывая вышеизложенное, при запуске супервизора бар и Баз однородные группы не будут
существуют, и процессы, которые были бы в их подчинении, теперь будут перемещены в Foo
группа.

[группа: x] Раздел Наши ценности
программы
Список имен программ, разделенных запятыми. Перечисленные программы становятся участниками
группы.

По умолчанию: По умолчанию нет (обязательно)

необходимые: Да.

Введенный: 3.0

приоритет
Номер приоритета, аналогичный [программа: x] значение приоритета, присвоенное группе.

По умолчанию: 999

необходимые: Нет

Введенный: 3.0

[группа: x] Раздел Пример
[группа: foo]
программы = бар, баз
Приоритет = 999

[программа fcgi: x] Раздел Настройки
Супервайзер может управлять группами FastCGI процессы, которые все прослушивают один и тот же сокет.
До сих пор гибкость развертывания FastCGI была ограничена. Чтобы получить полный процесс
управления, вы могли использовать mod_fastcgi под Apache, но тогда вы застряли с Apache
неэффективная модель параллелизма одного процесса или потока на соединение. В добавление к
требуя большего количества ресурсов ЦП и памяти, модель процесса / потока для каждого соединения может быть
быстро насыщается медленным ресурсом, что препятствует обслуживанию других ресурсов. В
чтобы воспользоваться преимуществами новых событийно-управляемых веб-серверов, таких как lighttpd или nginx, которые
не включать встроенный диспетчер процессов, вам пришлось использовать скрипты, такие как cgi-fcgi или
spawn-fcgi. Их можно использовать вместе с менеджером процессов, например супервизором.
или daemontools, но требует, чтобы каждый дочерний процесс FastCGI был привязан к собственному сокету. В
Недостатки этого: излишне сложная конфигурация веб-сервера, некорректная
перезапускается и снижается отказоустойчивость. С меньшим количеством сокетов для настройки веб-сервер
конфигурации будут намного меньше, если группы процессов FastCGI могут совместно использовать сокеты. Общий
сокеты позволяют плавный перезапуск, потому что сокет остается связанным родительским процессом
пока перезапускается любой из дочерних процессов. Наконец, общие сокеты больше
отказоустойчивый, потому что, если данный процесс выходит из строя, другие процессы могут продолжать обслуживать
входящие соединения.

Благодаря встроенной поддержке создания FastCGI Supervisor дает вам лучшее из обоих миров.
Вы получаете полнофункциональное управление процессами с группами процессов FastCGI, разделяющих сокеты
без привязки к определенному веб-серверу. Это четкое разделение проблем,
позволяя веб-серверу и диспетчеру процессов делать то, что они умеют лучше всего.

ПРИМЕЧАНИЕ:
Менеджер сокетов в Supervisor изначально был разработан для поддержки процессов FastCGI.
но это не ограничивается FastCGI. Могут использоваться и другие протоколы без каких-либо специальных
конфигурация. Любая программа, которая может получить доступ к открытому сокету из файлового дескриптора (например,
сокет.fromfd в Python) можно использовать диспетчер сокетов. Супервайзер будет
автоматически создать сокет, привязать и прослушать, прежде чем разветвлять первого дочернего элемента в
группа. Сокет будет передан каждому потомку по номеру дескриптора файла. 0 (нуль).
Когда последний ребенок в группе выйдет из группы, Supervisor закроет сокет.

Все возможности доступны [программа: x] разделы также соблюдаются fcgi-программа
раздел.

[программа fcgi: x] Раздел Наши ценности
[программа fcgi: x] разделы имеют один ключ, который [программа: x] разделов нет.

гнездо
Сокет FastCGI для этой программы, доменный сокет TCP или UNIX. Для сокетов TCP,
используйте этот формат: tcp: // локальный: 9002. Для сокетов домена UNIX используйте
unix: ///absolute/path/to/file.sock. Строковые выражения оцениваются по
словарь, содержащий ключи «имя_программы» и «здесь» (каталог
файл конфигурации supervisord).

По умолчанию: По умолчанию нет.

необходимые: Да.

Введенный: 3.0

сокет_владелец
Для сокетов домена UNIX этот параметр может использоваться для указания пользователя и группы для
сокет FastCGI. Может быть имя пользователя UNIX (например, chrism) или имя пользователя и группа UNIX.
разделенные двоеточием (например, chrism: wheel).

По умолчанию: Использует пользователя и группу, заданные для программы fcgi

необходимые: Нет

Введенный: 3.0

режим_сокета
Для сокетов домена UNIX этот параметр может использоваться для указания режима разрешений.

По умолчанию: 0700

необходимые: Нет

Введенный: 3.0

Консультировать [программа: x] Раздел Настройки для других допустимых ключей измените указанные выше ограничения.
и дополнения.

[программа fcgi: x] Раздел Пример
[fcgi-program: fcgiprogramname]
команда = / usr / bin / example.fcgi
socket = unix: /// var / run / supervisor /% (имя_программы) s.sock
socket_owner = chrism
socket_mode = 0700
имя_процесса =% (имя_программы) s _% (номер_процесса) 02d
numprocs = 5
каталог =/ Tmp
umask = 022
Приоритет = 999
autostart = true
autorestart = неожиданно
startsecs = 1
startretries = 3
коды выхода = 0,2
stopignal = ВЫЙТИ
stopasgroup = false
killasgroup = ложь
stopwaitsecs = 10
user = chrism
redirect_stderr = правда
stdout_logfile = / а / путь
stdout_logfile_maxbytes = 1 МБ
stdout_logfile_backups = 10
stdout_events_enabled = ложь
stderr_logfile = / а / путь
stderr_logfile_maxbytes = 1 МБ
stderr_logfile_backups = 10
stderr_events_enabled = ложь
environment = A = "1", B = "2"
serverurl = АВТО

[прослушиватель событий: x] Раздел Настройки
Supervisor позволяет создавать специализированные однородные группы процессов («пулы слушателей событий»).
определяется в файле конфигурации. Эти пулы содержат процессы, предназначенные для
получать и отвечать на уведомления о событиях от системы событий супервизора. Посмотреть события для
объяснение того, как работают события и как реализовать программы, которые можно объявить как
слушатели событий.

Обратите внимание, что все параметры, доступные для [программа: x] разделы соблюдаются eventlistener
разделах кроме для stdout_capture_maxbytes и stderr_capture_maxbytes (слушатели событий
не может генерировать события связи процесса, см. capture_mode).

[прослушиватель событий: x] Раздел Наши ценности
[прослушиватель событий: x] в разделах есть несколько ключей, которые [программа: x] разделов нет.

размер буфера
Размер буфера очереди событий пула слушателей событий. Когда буфер событий пула слушателей
переполнен (что может случиться, когда пул слушателей событий не успевает за всеми
события, отправленные на него), самое старое событие в буфере отбрасывается.

События
Разделенный запятыми список имен типов событий, которые "интересуют" этого слушателя.
получение уведомлений для (см. список допустимых имен типов событий в event_types).

результат_обработчик
A pkg_resources запись точка string который разрешается в вызываемый Python. По умолчанию
Значение supervisor.dispatchers: default_handler. Указание альтернативного результата
обработчик - это очень необычная вещь, которую нужно делать, и в результате, как его создать,
не задокументировано.

Консультировать [программа: x] Раздел Настройки для других допустимых ключей измените указанные выше ограничения.
и дополнения.

[прослушиватель событий: x] Раздел Пример
[прослушиватель событий: имя прослушивателя событий]
команда = / bin / eventlistener
имя_процесса =% (имя_программы) s _% (номер_процесса) 02d
numprocs = 5
events = PROCESS_STATE
buffer_size = 10
каталог =/ Tmp
umask = 022
приоритет = -1
autostart = true
autorestart = неожиданно
startsecs = 1
startretries = 3
коды выхода = 0,2
stopignal = ВЫЙТИ
stopwaitsecs = 10
stopasgroup = false
killasgroup = ложь
user = chrism
redirect_stderr = ложь
stdout_logfile = / а / путь
stdout_logfile_maxbytes = 1 МБ
stdout_logfile_backups = 10
stdout_events_enabled = ложь
stderr_logfile = / а / путь
stderr_logfile_maxbytes = 1 МБ
stderr_logfile_backups = 10
stderr_events_enabled = ложь
environment = A = "1", B = "2"
serverurl = АВТО

[rpcinterface: x] Раздел Настройки
Добавление rpcinterface: x настройки в файле конфигурации полезны только тем, кто
хотите расширить супервизор дополнительным настраиваемым поведением.

В примере файла конфигурации есть раздел с именем [rpcinterface: руководитель].
По умолчанию это выглядит следующим образом.

[rpcinterface: руководитель]
supervisor.rpcinterface_factory = supervisor.rpcinterface: make_main_rpcinterface

" [rpcinterface: руководитель] . должен остаются в комплектации по стандарту
настройка супервизора для правильной работы. Если вы не хотите, чтобы руководитель что-либо делал,
еще не работает "из коробки", это все, что вам нужно знать об этом типе
.

Однако, если вы хотите добавить пространства имен интерфейса rpc для настройки супервизора, вы
может добавить дополнительные [rpcinterface: foo] разделы, где "foo" представляет пространство имен
интерфейс (из корневого веб-сайта) и значение, названное супервизор.rpcinterface_factory
- это вызываемый фабрикой объект, который должен иметь сигнатуру функции, которая принимает один
позиционный аргумент руководитель и столько аргументов ключевого слова, сколько требуется для выполнения
конфигурация. Любые дополнительные пары ключ / значение, определенные в [rpcinterface: x] раздел будет
передаваться в фабрику как аргументы ключевого слова.

Вот пример фабричной функции, созданной в __init__.py файл Python
пакет мой.пакет.

from my.package.rpcinterface import ДругойRPCInterface

def make_another_rpcinterface (супервизор, ** конфигурация):
retries = int (config.get ('retries', 0))
another_rpc_interface = Другой интерфейс RPC (супервизор, повторные попытки)
вернуть another_rpc_interface

И раздел в файле конфигурации, предназначенный для его настройки.

[rpcinterface: другой]
supervisor.rpcinterface_factory = my.package: make_another_rpcinterface
повторные попытки = 1

[rpcinterface: x] Раздел Наши ценности
супервизор.rpcinterface_factory
pkg_resources «точка входа», разделенное точками имя фабричной функции вашего интерфейса RPC.

По умолчанию: N /

необходимые: Нет

Введенный: 3.0

[rpcinterface: x] Раздел Пример
[rpcinterface: другой]
supervisor.rpcinterface_factory = my.package: make_another_rpcinterface
повторные попытки = 1

Подпроцессы
руководительосновной целью является создание и управление процессами на основе данных в его
конфигурационный файл. Он делает это путем создания подпроцессов. Каждый подпроцесс, порожденный
супервизором на протяжении всего срока его службы управляет супервизор (руководитель это
родительский процесс каждого создаваемого им процесса). Когда ребенок умирает, супервизор извещается об этом.
его смерть через СИГЧЛД сигнал, и он выполняет соответствующую операцию.

Не демонизирующий of Подпроцессы
Программы, предназначенные для запуска под супервизором, не должны демонстрировать себя. Вместо этого они
должен работать на переднем плане. Они не должны отсоединяться от терминала, от которого они
запущены.

Самый простой способ узнать, будет ли программа работать на переднем плане, - это запустить команду, которая
вызывает программу из приглашения оболочки. Если это вернет вам контроль над терминалом,
но продолжает работать, он демонизируется, и это почти наверняка будет неправильным
способ запустить его под супервизором. Вы хотите запустить команду, которая требует от вас
нажать Ctrl-C, чтобы вернуть контроль над терминалом. Если он вернет вам приглашение оболочки
после запуска без необходимости нажимать Ctrl-C,, это бесполезно под наблюдением. Все
у программ есть опции для запуска на переднем плане, но нет "стандартного способа" сделать это;
вам необходимо прочитать документацию по каждой программе.

Ниже приведены примеры файлов конфигурации, которые, как известно, запускают распространенные программы в
режим «переднего плана» под супервизором.

Примеры of Программа Конфигурации
Вот несколько примеров конфигурации программ из реального мира:

Apache 2.2.6
[программа: apache2]
команда = / путь / к / httpd -c "ErrorLog / dev / stdout" -DFOREGROUND
redirect_stderr = правда

Две Zope 2.X случаев и one ZEO сервер
[программа: зео]
команда = / путь / к / runzeo
Приоритет = 1

[программа: zope1]
команда = / путь / к / экземпляру / домой / бен / runzope
Приоритет = 2
redirect_stderr = правда

[программа: zope2]
команда = / путь / к / другому / экземпляру / дому / бен / runzope
Приоритет = 2
redirect_stderr = правда

Postgres 8.X
[программа: postgres]
команда = / путь / к / постмастеру
; используем сигнал «быстрого» выключения SIGINT
stopignal = INT
redirect_stderr = правда

OpenLDAP шлепок
[программа: slapd]
команда = / путь / к / slapd -f /path/to/slapd.conf -h ldap: //0.0.0.0: 8888
redirect_stderr = правда

Другой Примеры
Другие примеры сценариев оболочки, которые можно использовать для запуска служб под руководитель
быть найденным в http://thedjbway.b0llix.net/services.html. Эти примеры действительно для
DAEMON Tools но предпосылка та же самая для руководителя.

Доступен еще один сборник рецептов запуска различных программ на переднем плане.
от http://smarden.org/runit/runscripts.html.

пидпрокси Программа
Некоторые процессы (например, туздЫ) игнорировать сигналы, отправленные фактическому процессу, который порождается
руководитель. Вместо этого эти типы программ создают "специальный" поток / процесс.
который отвечает за обработку сигналов. Это проблематично, потому что руководитель
только убить процесс, который он создает сам. Если процесс, созданный руководитель создает
собственные дочерние процессы, руководитель не могут их убить.

К счастью, эти типы программ обычно пишут "pidfile", который содержит
PID "специального" процесса, предназначенный для чтения и использования для уничтожения процесса. В качестве
обходной путь для этого случая, специальный пидпрокси программа может обрабатывать запуск таких типов
процессов. В пидпрокси программа представляет собой небольшую прокладку, которая запускает процесс, а на
получение сигнала, отправляет сигнал на pid, указанный в pidfile. Образец
Ниже приводится запись программы конфигурации для программы с поддержкой pidproxy.

[программа: mysql]
команда = / путь / к / pidproxy / путь / к / pidfile / путь / к / mysqld_safe

" пидпрокси программа помещается в вашу конфигурацию $ BINDIR когда установлен супервизор
(это «консольный скрипт»).

Подпроцесс Окружающая среда
Подпроцессы наследуют среду оболочки, которая используется для запуска руководитель
программа. Несколько переменных среды будут установлены руководитель сам в детском
окружающая среда также, в том числе SUPERVISOR_ENABLED (флаг, указывающий, что процесс находится под
супервайзерский контроль), НАДЗОР_ПРОЦЕСС_ИМЯ (имя процесса, указанное в файле конфигурации для
этот процесс) и SUPERVISOR_GROUP_NAME (имя группы процессов, указанное в файле конфигурации для
дочерний процесс).

Эти переменные среды могут быть переопределены в [супервайзер] конфигурация раздела
вариант с именем охрана окружающей среды (применяется ко всем подпроцессам) или в пределах пер- [программа: x]
. охрана окружающей среды опция config (применяется только к подпроцессу, указанному в
[программа: x] раздел). Эти настройки «среды» являются аддитивными. Другими словами, каждый
среда подпроцесса будет состоять из:
Переменные среды, установленные в оболочке, используемые для запуска супервизора ...

... добавлено / отменено ...

... охрана окружающей среды переменные набор одной охрана окружающей среды Глобальный
опция конфигурации ...

... добавлено / отменено ...

... зависящий от руководителя охрана окружающей среды переменные
(SUPERVISOR_ENABLED, НАДЗОР_ПРОЦЕСС_ИМЯ, SUPERVISOR_GROUP_NAME) ..

... добавлено / отменено ...

... охрана окружающей среды переменные набор одной за процесс
Параметр конфигурации "среда".

Никакая оболочка не выполняется руководитель когда он запускает подпроцесс, поэтому переменные среды
как USER, PATH, Главная страница, SHELL, LOGNAMEи т. д. не изменяются по сравнению с их значениями по умолчанию или
в противном случае переназначен. Это особенно важно отметить, когда вы запускаете
программа из руководитель запустить как root с пользователь = строфа в комплектации. В отличие от
крон, руководитель не пытается предугадать и преодолеть «фундаментальную» среду
такие переменные, как USER, PATH, Главная страницаи LOGNAME когда он выполняет setuid для определенного пользователем
в пользователь = опция конфигурации программы. Если вам нужно установить переменные среды для
конкретная программа, которая в противном случае могла бы быть установлена ​​вызовом оболочки для определенного
пользователя, вы должны сделать это явно в окружающая среда = опция конфигурации программы. Пример
настройки этих переменных среды приведены ниже.

[программа: apache2]
команда = / home / chrism / bin / httpd -c "ErrorLog / dev / stdout" -DFOREGROUND
user = chrism
environment = HOME = "/ home / chrism", USER = "chrism"

Разработка Области
Процесс, контролируемый супервайзером, в любой момент времени находится в одном из следующих состояний.
Вы можете увидеть эти имена состояний в различных элементах пользовательского интерфейса в клиентах.

STOPPED (0)
Процесс был остановлен из-за запроса на остановку или никогда не запускался.

ЗАПУСК (10)
Процесс запускается из-за запроса на запуск.

БЕГ (20)
Процесс запущен.

ОТВАЛИ (30)
Процесс вошел в ЗАПУСК состояние, но впоследствии вышел слишком быстро, чтобы перейти в
БЕГ состоянии.

ОСТАНОВКА (40)
Процесс останавливается из-за запроса на остановку.

ВЫШЕЛ (100)
Процесс вышел из БЕГ состояние (ожидаемо или неожиданно).

FATAL (200)
Не удалось запустить процесс.

НЕИЗВЕСТНЫЙ (1000)
Процесс находится в неизвестном состоянии (руководитель ошибка программирования).

Каждый процесс, выполняемый под супервизором, проходит через эти состояния согласно следующим
ориентированный граф.
[image: График перехода состояний подпроцесса] [изображение] Переход состояния подпроцесса
График.

Процесс находится в STOPPED указать, было ли оно остановлено административно или
никогда не запускался.

Когда процесс автозапуска находится в ОТВАЛИ состояние, это будет автоматически
перезапущен руководитель. Он будет переключаться между ЗАПУСК и ОТВАЛИ заявляет, пока это
становится очевидным, что он не может быть запущен, потому что количество попытки и
превысил максимум, после чего он перейдет в FATAL штат. Каждый старт
повторная попытка займет все больше времени.

Когда процесс находится в ВЫШЕЛ состояние, он автоматически перезапустится:

· Никогда, если это автоперезапуск параметр установлен в ложный.

· Безусловно, если его автоперезапуск параметр установлен в правда.

· Условно, если его автоперезапуск параметр установлен в неожиданный. Если он вышел с
код выхода, который не соответствует ни одному из кодов выхода, определенных в коды выхода
параметр конфигурации для процесса, он будет перезапущен.

Процесс автоматически переходит из ВЫШЕЛ в БЕГ в результате настройки
для автоматического перезапуска условно или безоговорочно. Количество переходов между
БЕГ и ВЫШЕЛ никак не ограничен: возможно создание конфигурации
что бесконечно перезапускает завершенный процесс. Это особенность, а не ошибка.

Автоматически перезапускаемый процесс никогда не будет перезапущен автоматически, если он окажется в FATAL
состояние (необходимо вручную перезапустить из этого состояния).

Процесс переходит в ОСТАНОВКА состояние через запрос административной остановки, и будет
затем оказаться в STOPPED состоянии.

Процесс, который не может быть успешно остановлен, останется в ОСТАНОВКА состояние навсегда.
Этой ситуации никогда не следует достигать во время нормальной работы, поскольку это означает, что
процесс не ответил на окончательный СИГКИЛЛ сигнал, посланный ему супервизором, который
«невозможно» под UNIX.

Переходы между состояниями, которые всегда требуют действий пользователя, следующие:

FATAL -> ЗАПУСК

БЕГ -> ОСТАНОВКА

Переходы между состояниями, которые обычно, но не всегда, требуют действий пользователя для вызова:
это, за исключением отмеченных:

STOPPED -> ЗАПУСК (кроме запуска супервизора, если процесс настроен на автозапуск)

ВЫШЕЛ -> ЗАПУСК (кроме случаев, когда процесс настроен на автоматический перезапуск)

Все остальные переходы между состояниями управляются супервизором автоматически.

Запись
Одна из основных задач, которые руководитель выполняет ведение журнала. руководитель регистрирует активность
журнал с подробным описанием того, что он делает во время работы. Он также регистрирует дочерний процесс stdout и stderr
вывод в другие файлы, если это настроено.

Активность Журнал
Журнал активности - это место, где руководитель записывает сообщения о собственном здоровье, своем
изменения состояния подпроцесса, любые сообщения, возникающие в результате событий, а также отладка и
информационные сообщения. Путь к журналу активности настраивается через журнальный файл
Параметр в [супервайзер] раздел файла конфигурации, по умолчанию
$ CWD / supervisord.log. Пример трафика журнала активности показан в примере ниже. Некоторые
линии были разорваны, чтобы лучше соответствовать экрану.

Образец Активность Журнал Результат
2007-09-08 14: 43: 22,886 DEBG 127.0.0.1:Medusa (V1.11) запущена в сб, 8 сентября, 14:43:22 2007
Имя хоста: kingfish
Порт: 9001
2007-09-08 14: 43: 22,961 INFO Инициализирован супервизор интерфейса RPC
2007-09-08 14: 43: 22,961 CRIT Запуск без проверки HTTP-аутентификации
2007-09-08 14: 43: 22,962 INFO supervisord запущен с pid 27347
2007-09-08 14: 43: 23,965 Появился INFO: 'listener_00' с pid 27349
2007-09-08 14: 43: 23,970 Появился INFO: 'eventgen' с pid 27350
2007-09-08 14: 43: 23,990 Создан INFO: 'grower' с pid 27351
2007-09-08 14: 43: 24,059 DEBG 'listener_00' stderr вывод:
/ Пользователи / chrism / projects / supervisor / supervisor2 / dev-sandbox / bin / python:
не удается открыть файл '/Users/chrism/projects/supervisor/supervisor2/src/supervisor/scripts/osx_eventgen_listener.py':
[Errno 2] Нет такого файла или каталога
2007-09-08 14: 43: 24,060 DEBG fd 7 закрыто, мониторинг прекращен
(стандартный вывод)>
2007-09-08 14: 43: 24,060 INFO завершено: listener_00 (статус выхода 2; не ожидается)
2007-09-08 14: 43: 24,061 DEBG получил SIGCHLD, указывающий на выход ребенка

«Уровень» журнала активности настраивается в файле конфигурации через уровень журнала параметр в
[супервайзер] ini раздел файла. Когда уровень журнала установлен, сообщения указанного
приоритет, плюс те, у кого более высокий приоритет, заносятся в журнал активности. За
например, если уровень журнала is ошибка, сообщения ошибка и критической приоритет будет зарегистрирован.
Однако, если уровень логирования предупреждать, сообщения предупреждать, ошибкаи критической будет зарегистрирован.

Активность Журнал Уровни
В таблице ниже более подробно описаны уровни ведения журнала, упорядоченные с наивысшим приоритетом.
к самому низкому. "Значение файла конфигурации" - это строка, предоставляемая уровень журнала параметр в
[супервайзер] раздел конфигурационного файла, а "Выходной код" - это код, который
отображается в строках вывода журнала активности.

┌───────────────────┬─────────────┬───────────────── ──────────
│Значение файла конфигурации │ Код вывода │ Описание │
├───────────────────┼─────────────┼───────────────── ──────────
│critical │ CRIT │ Сообщения, указывающие на │
│ │ │ условие, которое требует │
│ │ │ непосредственный пользователь │
│ │ │ внимание, супервайзер │
│ │ │ изменение состояния, или │
│ │ │ ошибка в супервайзере │
│ │ │ сам. │
├───────────────────┼─────────────┼───────────────── ──────────
│error │ ERRO │ Сообщения, указывающие на
│ │ │ потенциально игнорируется │
│ │ │ состояние ошибки (например, │
│ │ │ невозможно очистить журнал │
│ │ │ справочник). │
├───────────────────┼─────────────┼───────────────── ──────────
│warn │ WARN │ Сообщения, указывающие на │
│ │ │ аномальное состояние │
│ │ │ что не является ошибкой. │
├───────────────────┼─────────────┼───────────────── ──────────
│info │ INFO │ Обычная информация │
│ │ вывод. Это │
│ │ │ уровень журнала по умолчанию, если │
│ │ │ нет явно │
│ │ │ настроен. │
├───────────────────┼─────────────┼───────────────── ──────────
│debug │ DEBG │ Сообщения, полезные для │
│ │ │ пользователи пытаются отлаживать │
│ │ │ конфигурация процесса │
│ │ │ и коммуникации │
│ │ │ поведение (процесс │
│ │ │ вывод, состояние слушателя │
│ │ │ изменения, событие │
│ │ │ уведомления). │
├───────────────────┼─────────────┼───────────────── ──────────
│trace │ TRAC │ Сообщения, полезные для │
│ │ │ разработчики пытаются │
│ │ │ диспетчер отладки │
│ │ │ плагины и информация │
│ │ │ о HTTP и RPC │
│ │ │ запросы и ответы. │
├───────────────────┼─────────────┼───────────────── ──────────
Blather │ BLAT │ Сообщения, полезные для │
│ │ │ разработчики пытаются │
│ │ │ сам диспетчер отладки. │
└───────────────────┴─────────────┴───────────────── ──────────

Активность Журнал Вращение
Журнал активности "вращается" руководитель на основе комбинации
logfile_maxbytes и logfile_backups параметры в [супервайзер] раздел
конфигурационный файл. Когда журнал активности достигает logfile_maxbytes байтов, текущий журнал
файл перемещается в файл резервной копии, и создается новый файл журнала активности. Когда это произойдет,
если количество существующих файлов резервных копий больше или равно logfile_backups,
самый старый файл резервной копии удаляется, а файлы резервных копий соответственно переименовываются. Если файл
записанный на имя супервизорд.лог, когда он превышает logfile_maxbytes, закрыто
и переименован в супервизор.log.1, а если файлы супервизор.log.1, супервизор.log.2 и так далее
существуют, то они переименовываются в супервизор.log.2, супервизор.log.3 и т.д. соответственно.
If logfile_maxbytes равно 0, файл журнала никогда не поворачивается (и поэтому резервные копии не создаются).
If logfile_backups равно 0, резервные копии сохраняться не будут.

детей, Разработка Журналы
Стандартный вывод дочерних процессов, порожденных супервизором, по умолчанию фиксируется для повторного отображения.
пользователям супервизорктл и другие клиенты. Если нет конкретной конфигурации, связанной с файлом журнала
выполняется в [программа: x], [программа fcgi: x]или [прослушиватель событий: x] в
файл конфигурации, верно следующее:

· руководитель сохранит выходные данные дочернего процесса и stdout во временный
файлы. Каждый поток записывается в отдельный файл. Это известно как AUTO режим журнала.

· AUTO файлы журнала получают имена автоматически и помещаются в каталог, настроенный как
дочерний каталог [супервайзер] раздел конфигурационного файла.

· Размер каждого AUTO файл журнала ограничен {streamname} _logfile_maxbytes Значение
программный раздел (где {streamname} - это "stdout" или "stderr"). Когда он достигнет этого
число, оно вращается (как и журнал активности) на основе
{streamname} _logfile_backups.

Ключи конфигурации, которые влияют на вход в дочерний процесс [программа: x] и
[программа fcgi: x] разделы это:

redirect_stderr, stdout_logfile, stdout_logfile_maxbytes, stdout_logfile_backups,
stdout_capture_maxbytes, stderr_logfile, stderr_logfile_maxbytes, stderr_logfile_backups
и stderr_capture_maxbytes.

Можно установить stdout_logfile or stderr_logfile в специальную строку «syslog». В таком случае,
журналы будут направляться в службу системного журнала, а не сохраняться в файлах.

[прослушиватель событий: x] разделы могут не указывать redirect_stderr, stdout_capture_maxbytesили
stderr_capture_maxbytes, но в остальном они принимают те же значения.

Ключи конфигурации, которые влияют на ведение журнала дочернего процесса в [супервайзер] конфиг
раздел файла: дочерний каталоги ночистка.

захват режим
Режим захвата - это расширенная функция Supervisor. Вам не нужно понимать режим захвата
если вы не хотите предпринимать действия на основе данных, полученных из вывода подпроцесса.

Если [программа: x] раздел в файле конфигурации определяет ненулевое значение
stdout_capture_maxbytes or stderr_capture_maxbytes параметр, каждый процесс представлен
программный раздел может выдавать специальные токены в свой поток stdout или stderr (соответственно)
что фактически заставит супервизор испускать ПРОЦЕСС_СВЯЗИ событие (см. события
для описания событий).

Протокол обмена данными с процессами основан на двух тегах, один из которых дает команду супервизору
введите «режим захвата» для потока и тот, который приказывает ему выйти. Когда процесс
поток переходит в «режим захвата», данные, отправленные в поток, будут отправлены в отдельный буфер в
память, «буфер захвата», который может содержать максимум Capture_maxbytes
байтов. В режиме захвата, когда длина буфера превышает Capture_maxbytes байтов,
самые ранние данные в буфере удаляются, чтобы освободить место для новых данных. Когда поток процесса
выходит из режима захвата, ПРОЦЕСС_СВЯЗИ подтип события генерируется супервизором, который
могут быть перехвачены слушателями событий.

Тег для начала "режима захвата" в потоке процесса: . Тег
для выхода из режима захвата . Данные между этими тегами могут быть
произвольно, и формирует полезную нагрузку ПРОЦЕСС_СВЯЗИ событие. Например, если
программа настроена с stdout_capture_maxbytes размером "1 МБ", и на
его поток stdout:

Привет!

В этом случае руководитель испустит PROCESS_COMMUNICATIONS_STDOUT мероприятие с
данные в полезной нагрузке «Hello!».

Пример сценария (написанного на Python), который генерирует событие связи процесса, находится в
скрипты каталог пакета супервизора с именем sample_commevent.py.

Вывод процессов, указанных как «прослушиватели событий» ([прослушиватель событий: x] разделы) не
обработано таким образом. Выходные данные этих процессов не могут войти в режим захвата.

простирающийся Супервайзера XML-RPC API
Supervisor может быть расширен с помощью новых API XML-RPC. Уже несколько сторонних плагинов
существуют, которые могут быть подключены к вашей конфигурации супервизора. Вы можете дополнительно написать
твой собственный. Расширяемые интерфейсы XML-RPC - это расширенная функция, представленная в версии
3.0. Вам не нужно понимать это, если вы не хотите использовать существующий сторонний RPC.
плагин интерфейса или если вы хотите написать свой собственный плагин интерфейса RPC.

Настройка XML-RPC Интерфейс Заводы
Дополнительный интерфейс RPC настраивается в установку супервизора путем добавления
[rpcinterface: x] в файле конфигурации Supervisor.

В примере файла конфигурации есть раздел с именем [rpcinterface: руководитель].
По умолчанию это выглядит так:

[rpcinterface: руководитель]
supervisor.rpcinterface_factory = supervisor.rpcinterface: make_main_rpcinterface

В этом разделе должен остаются в конфигурации для работы стандартной настройки супервизора
правильно. Если вы не хотите, чтобы руководитель делал что-то, чего он еще не сделал, вне пределов
box, это все, что вам нужно знать об этом типе разделов.

Однако, если вы хотите добавить дополнительные пространства имен интерфейса XML-RPC в конфигурацию
супервайзер, вы можете добавить дополнительные [rpcinterface: foo] разделы, где "foo" представляет
пространство имен интерфейса (из корневого веб-сайта), а значение, названное
супервизор.rpcinterface_factory это вызываемая фабрика, написанная на Python, которая должна иметь
сигнатура функции, которая принимает один позиционный аргумент руководитель и так много
аргументы ключевого слова, необходимые для выполнения конфигурации. Определены любые пары ключ / значение
в rpcinterface: foo section будет передан в фабрику как аргументы ключевого слова.
Вот пример фабричной функции, созданной в пакете мой.пакет.

def make_another_rpcinterface (супервизор, ** конфигурация):
retries = int (config.get ('retries', 0))
another_rpc_interface = Другой интерфейс RPC (супервизор, повторные попытки)
вернуть another_rpc_interface

И раздел в файле конфигурации, предназначенный для его настройки.

[rpcinterface: другой]
supervisor.rpcinterface_factory = my.package: make_another_rpcinterface
повторные попытки = 1

Словарь терминов
DAEMON Tools
A процесс контроль система by Диджей Бернштейн.

запуск программ
A процесс контроль система использовал by Apple как процесс 1 в Mac OS X.

запустить его A процесс контроль система.

Суперлэнс
Пакет, который предоставляет различные реализации прослушивателя событий, которые подключаются к
Супервизор, который может помочь контролировать использование памяти процессом и статус сбоя:
http://pypi.python.org/pypi/superlance.

Umask Аббревиатура от пользователь маска: устанавливает маску создания файлового режима для текущего процесса.
Увидеть http://en.wikipedia.org/wiki/Umask.

API ДОКУМЕНТАЦИЯ


XML-RPC API Документация
Чтобы использовать интерфейс XML-RPC, подключитесь к HTTP-порту супервизора с любым клиентом XML-RPC.
библиотека и запускать команды против нее. Пример этого с использованием Python xmlrpclib
Клиентская библиотека выглядит следующим образом.

импортировать xmlrpclib
server = xmlrpclib.Server ('http://localhost: 9001 / RPC2 ')

Вы можете вызывать методы против руководитель и его подпроцессы с помощью руководитель
пространство имен. Пример приведен ниже.

server.supervisor.getState ()

Вы можете получить список методов, поддерживаемых руководитель XML-RPC интерфейс с помощью
XML-RPC system.listМетоды API:

server.system.listMethods ()

Вы можете увидеть справку по методу, используя system.methodСправка API против метода:

server.system.methodHelp ('supervisor.shutdown')

" руководитель Интерфейс XML-RPC также поддерживает XML-RPC многократный API.

Вы можете продлить руководитель функциональность с новыми методами API XML-RPC путем добавления новых
интерфейсы RPC верхнего уровня по мере необходимости. См. Rpcinterface_factories.

ПРИМЕЧАНИЕ:
Любой вызов метода XML-RPC может привести к ответу с ошибкой. Сюда входят ошибки, вызванные
клиент, например, неверные аргументы, и любые ошибки, которые делают руководитель не в состоянии
выполнить просьбу. Многие клиентские программы XML-RPC вызывают исключение при возникновении ошибки.
ответ встречается.

Статус: и Control
класс supervisor.rpcinterface.SupervisorNamespaceRPCInterface (супервизор)

getAPIVersion ()
Вернуть версию RPC API, используемую супервизором

@ return string version id версии

Этот API версируется отдельно от самого Supervisor. Версия API
вернулся получитьAPIVersion изменяется только при изменении API. Его цель
помогает клиенту определить, с какой версией Supervisor API
это общение.

При написании программного обеспечения, которое взаимодействует с этим API, очень важно
рекомендуется сначала протестировать версию API на совместимость, прежде чем
вызовы методов.

ПРИМЕЧАНИЕ:
" получитьAPIVersion метод заменяет получить версию найдено в Supervisor
версии до 3.0a1. Это псевдоним для совместимости, но
getVersion () устарел, и поддержка будет прекращена с
Supervisor в будущей версии.

getSupervisorVersion ()
Вернуть версию пакета супервизора, используемую супервизором

@ return string version id версии

getIdentification ()
Вернуть идентифицирующую строку супервизора

@return строка идентификатора строка идентификатора

Этот метод позволяет клиенту определить, с каким экземпляром Supervisor
он взаимодействует в средах, где несколько
Наблюдатели могут быть запущены.

Идентификатор - это строка, которая должна быть установлена ​​в Супервайзере.
конфигурационный файл. Этот метод просто возвращает это значение обратно в
клиент.

getState ()
Вернуть текущее состояние супервизора как структуру

@return struct Структура с ключами int statecode, string statename

Это внутреннее значение, поддерживаемое Супервайзером, которое определяет, какие
Надзорный орган считает его текущим операционным состоянием.

Вызов некоторых методов может изменить текущее состояние супервизора. За
Например, вызов метода supervisor.shutdown (), когда станция находится в
состояние РАБОТА переводит супервизор в состояние ВЫКЛЮЧЕНИЕ, пока он
Выключение.

Метод supervisor.getState () предоставляет возможность клиенту проверить
Состояние руководителя, как для информационных целей, так и для обеспечения того, чтобы
методы, которые он намеревается вызвать, будут разрешены.

Возвращаемое значение - это структура:

{'statecode': 1,
'statename': 'РАБОТАЕТ'}

Возможные возвращаемые значения:

┌──────────┬─────────────┬────────────────────────── ─┐
│statecode │ имя состояния │ Описание │
├──────────┼─────────────┼────────────────────────── ─┤
│2 │ FATAL │ У руководителя есть │
│ │ │ пережил серьезный │
│ │ │ ошибка. │
├──────────┼─────────────┼────────────────────────── ─┤
│1 │ РАБОТАЕТ │ Супервайзер работает │
│ │ │ нормально. │
├──────────┼─────────────┼────────────────────────── ─┤
│0 │ ПЕРЕЗАПУСК │ Супервайзер находится в │
│ │ │ процесс перезапуска. │
├──────────┼─────────────┼────────────────────────── ─┤
│-1 │ ВЫКЛЮЧЕНИЕ │ Супервайзер находится в │
│ │ │ процесс закрытия │
│ │ │ вниз. │
└──────────┴─────────────┴────────────────────────── ─┘

" FATAL состояние сообщает о неустранимых ошибках, таких как внутренние ошибки
внутри Supervisor или в условиях выхода системы из-под контроля. После установки на FATAL,
Supervisor никогда не может вернуться в любое другое состояние без перезапуска.

В FATAL состояние, все будущие методы, кроме supervisor.shutdown () и
supervisor.restart () автоматически завершится ошибкой без вызова и
вина FATAL_STATE будет поднят.

В Выключение or ПЕРЕЗАГРУЗКА состояния, все вызовы методов игнорируются и
их возможные возвращаемые значения не определены.

getPID ()
Вернуть PID супервизора

@return целочисленный PID

readLog (смещение; длина)
Прочитать байты длины из основного журнала, начиная со смещения

@param int смещение смещения, с которого начинается чтение. @param int
length количество байтов для чтения из журнала. @return строка
результат Байт журнала

Он может либо вернуть весь журнал, либо количество символов из хвоста
журнала или фрагмент журнала, заданный смещением и длиной
параметрами:

┌─────────────────┬──────────┬───────────────────── ──────
│Смещение │ Длина │ Поведение │
│ │ │ ридпроцесслог
├─────────────────┼──────────┼───────────────────── ──────
│Отрицательный │ Не ноль │ Плохие аргументы. Это будет │
│ │ │ поднять вину │
│ │ │ БАД_АРГУМЕНТЫ. │
└─────────────────┴──────────┴───────────────────── ──────

│Отрицательный │ Ноль │ Это вернет │
│ │ │ хвостик бревна, или │
│ │ │ номер смещения │
│ │ │ символы с конца │
│ │ │ журнала. Для │
│ │ │ пример, если смещение = -4 │
│ │ │ и = 0, то │
│ │ │ последние четыре символа │
│ │ │ будет возвращено из │
│ │ │ конец журнала. │
├─────────────────┼──────────┼───────────────────── ──────
│Нулевой или положительный │ Отрицательный │ Плохие аргументы. Это будет │
│ │ │ поднять вину │
│ │ │ БАД_АРГУМЕНТЫ. │
├─────────────────┼──────────┼───────────────────── ──────
│Нулевой или положительный │ Ноль │ Все символы будут
│ │ │ вернулся из смещение
│ │ │ указано. │
├─────────────────┼──────────┼───────────────────── ──────
│Нулевой или положительный │ Положительный │ Количество символов │
│ │ │ длина будет возвращена │
│ │ │ из смещение. │
└─────────────────┴──────────┴───────────────────── ──────

Если журнал пуст и запрашивается весь журнал, будет пустая строка.
вернулся.

Если смещение или длина вне допустимого диапазона, ошибка БАД_АРГУМЕНТЫ предусматривает
быть возвращенным.

Если журнал не может быть прочитан, этот метод поднимет либо НЕТ ФАЙЛА
ошибка, если файл не существует или FAILED ошибка, если возникнут другие проблемы
был встречен.

ПРИМЕЧАНИЕ:
Метод readLog () заменяет readMainLog (), найденный в Supervisor
версии до 2.1. Это псевдоним для совместимости, но
readMainLog () устарел, и поддержка будет прекращена с
Supervisor в будущей версии.

Очистить журнал()
Очистите основной журнал.

@return boolean result всегда возвращает True, если только не возникла ошибка

Если журнал не может быть очищен, потому что файл журнала не существует,
вина НЕТ ФАЙЛА будет поднят. Если журнал не может быть очищен ни для какого другого
причина, вина FAILED будет поднят.

неисправность()
Завершите процесс супервизора

@return boolean result всегда возвращает True, если только не возникла ошибка

Этот метод завершает работу демона Supervisor. Если какие-то процессы
запущены, они автоматически убиваются без предупреждения.

В отличие от большинства других методов, если супервизор находится в FATAL состояние, это
метод по-прежнему будет работать.

рестарт()
Перезапустите процесс супервизора

@return логический результат всегда возвращает True, если только не произошла ошибка

Этот метод мягко перезапускает демон Supervisor. Если какие-то процессы
запущены, они автоматически убиваются без предупреждения. Обратите внимание, что
фактический процесс UNIX для Supervisor не может быть перезапущен; только главный
программный цикл. Это приводит к сбросу внутренних состояний
Supervisor.

В отличие от большинства других методов, если супервизор находится в FATAL состояние, это
метод по-прежнему будет работать.

Разработка Control
класс supervisor.rpcinterface.SupervisorNamespaceRPCInterface (супервизор)

getProcessInfo (имя)
Получить информацию о процессе с именем name

@param string name Имя процесса (или 'group: name') @return
struct result Структура, содержащая данные о процессе.

Возвращаемое значение - это структура:

{'name': 'имя процесса',
'группа': 'имя группы',
'описание': 'pid 18806, время работы 0:03:12'
'начало': 1200361776,
'стоп': 0,
'сейчас': 1200361812,
'состояние': 1,
'statename': 'РАБОТАЕТ',
'spawnerr': '',
'exitstatus': 0,
'logfile': '/ path / to / stdout-log', # устарело, только b / c
'stdout_logfile': '/ путь / к / stdout-log',
'stderr_logfile': '/ путь / к / stderr-log',
'pid': 1}

имя Название процесса

группы Название группы процесса

описание
Если состояние процесса запущено, значение описания - process_id и
время безотказной работы. Пример «pid 18806, время работы 0:03:12». Если состояние процесса
Значение остановленного описания - время остановки. Пример: «5 июня, 03:16.
".

Начало Отметка времени UNIX, когда процесс был запущен

остановить Временная метка UNIX последнего завершения процесса или 0, если процесс
никогда не останавливался.

сейчас Временная метка текущего времени UNIX, которая может использоваться для вычисления
время безотказной работы.

состояние Код состояния, см. Process_states.

название штата
Строковое описание состояниесм. process_states.

журнальный файл
Устаревший псевдоним для stdout_logfile. Это предусмотрено только для
совместимость с клиентами, написанными для Supervisor 2.x и может быть
удалено в будущем. Использовать stdout_logfile .

stdout_logfile
Абсолютный путь и имя файла в файл журнала STDOUT

stderr_logfile
Абсолютный путь и имя файла в файл журнала STDOUT

производитель
Описание ошибки, возникшей во время спауна, или пустая строка
если нет.

статус выхода
Статус выхода (уровень ошибки) процесса или 0, если процесс все еще
работает.

ПИД-регулятор UNIX process ID (PID) процесса, или 0, если процесс не
работает.

getAllProcessInfo ()
Получите информацию обо всех процессах

@return array result Массив результатов статуса процесса

Каждый элемент содержит структуру, и эта структура содержит точно такие же
элементы как структура, возвращаемая получить информацию о процессе. Если таблица процессов
пусто, возвращается пустой массив.

startProcess (имя, ждать = Истина)
Начать процесс

@param string name Имя процесса (или Название группыили группа:*) @параметр
логическое ожидание Дождитесь полного запуска процесса @return логический результат
Всегда верно, если только не произошла ошибка

startAllProcesses (ожидание = Истина)
Запустить все процессы, перечисленные в файле конфигурации

@param boolean wait Дождитесь полного запуска каждого процесса @return
array result Массив структур информации о состоянии процесса

startProcessGroup (имя, ждать = Истина)
Запустить все процессы в группе с именем 'name'

@param string name Имя группы @param boolean wait Подождите
каждый процесс должен быть полностью запущен @return array result Массив
структуры информации о состоянии процесса

stopProcess (имя, ждать = Истина)
Остановить процесс, названный по имени

@param string name Имя процесса, который нужно остановить (или 'group: name')
@param boolean wait Дождитесь полной остановки процесса
@return логический результат Всегда возвращать True, если только не произошла ошибка

stopProcessGroup (имя, ждать = Истина)
Остановите все процессы в группе процессов с именем 'name'

@param string name Имя группы @param boolean wait Подождите
каждый процесс должен быть полностью остановлен @return array result Массив
структуры информации о состоянии процесса

stopAllProcesses (ожидание = Истина)
Остановить все процессы в списке процессов

@param boolean wait Дождитесь полной остановки каждого процесса @return
array result Массив структур информации о состоянии процесса

sendProcessStdin (имя, символы)
Отправить строку символов на стандартный ввод имени процесса. Если не 7-битный
данные отправляются (unicode), они кодируются в utf-8 перед отправкой в
процесс 'stdin. Если символы не являются строкой или не являются Unicode, поднять
НЕПРАВИЛЬНЫЕ ПАРАМЕТРЫ. Если процесс не запущен, поднимите NOT_RUNNING.
Если стандартный ввод процесса не может принимать ввод (например, он был закрыт
дочерний процесс), поднимите NO_FILE.

@param string name Имя процесса для отправки (или 'group: name')
@param string chars Символьные данные для отправки процессу
@return логический результат Всегда возвращать True, если только не произошла ошибка

sendRemoteCommEvent (тип; данные)
Отправить событие, которое будет получено подпроцессами прослушивателя событий
подписавшись на событие RemoteCommunicationEvent.

@param string type Строка для ключа "type" в заголовке события
@param string data Данные для тела события @return boolean
Всегда возвращать True, если только не возникла ошибка

reloadConfig ()
Обновить конфигурацию

@return логический результат всегда возвращает True, если только не произошла ошибка

addProcessGroup (имя)
Обновите конфигурацию для запущенного процесса из файла конфигурации.

@param string name имя группы процессов для добавления @return boolean
результат истина в случае успеха

removeProcessGroup (имя)
Удалите остановленный процесс из активной конфигурации.

@param строка имя имя группы процессов для удаления @return
логический результат Указывает, было ли удаление успешным

Разработка Запись
класс supervisor.rpcinterface.SupervisorNamespaceRPCInterface (супервизор)

readProcessStdoutLog (имя, компенсировать, длина)
Прочитать байты длины из журнала stdout имени, начиная со смещения

@param string name имя процесса (или 'group: name')
@param int смещение смещения, с которого начинается чтение. @param int
length количество байтов для чтения из журнала. @return строка
результат Байт журнала

readProcessStderrLog (имя, компенсировать, длина)
Прочитать байты длины из журнала stderr имени, начиная со смещения

@param string name имя процесса (или 'group: name')
@param int смещение смещения, с которого начинается чтение. @param int
length количество байтов для чтения из журнала. @return строка
результат Байт журнала

tailProcessStdoutLog (имя, компенсировать, длина)
Обеспечивает более эффективный способ отслеживания журнала (stdout), чем
readProcessStdoutLog (). Используйте readProcessStdoutLog () для чтения фрагментов и
tailProcessStdoutLog () в хвост.

Запросы (длина) байтов из журнала (имя), начиная с (смещение). Если
общий размер журнала больше, чем (смещение + длина), флаг переполнения
устанавливается, и (смещение) автоматически увеличивается для размещения буфера
в конце журнала. Если доступно менее (длины) байтов,
будет возвращено максимальное количество доступных байтов. (смещение) возвращается
всегда последнее смещение в журнале +1.

@param string name имя процесса (или 'group: name')
@param int смещение смещения для начала чтения с @param int length
максимальное количество байтов для возврата @return array result [строка
байты, смещение int, логическое переполнение]

tailProcessStderrLog (имя, компенсировать, длина)
Обеспечивает более эффективный способ отслеживания журнала (stderr), чем
readProcessStderrLog (). Используйте readProcessStderrLog () для чтения фрагментов и
tailProcessStderrLog () в хвост.

Запросы (длина) байтов из журнала (имя), начиная с (смещение). Если
общий размер журнала больше, чем (смещение + длина), флаг переполнения
устанавливается, и (смещение) автоматически увеличивается для размещения буфера
в конце журнала. Если доступно менее (длины) байтов,
будет возвращено максимальное количество доступных байтов. (смещение) возвращается
всегда последнее смещение в журнале +1.

@param string name имя процесса (или 'group: name')
@param int смещение смещения для начала чтения с @param int length
максимальное количество байтов для возврата @return array result [строка
байты, смещение int, логическое переполнение]

clearProcessLogs (имя)
Очистите журналы stdout и stderr для указанного процесса и снова откройте их.

@param string name Имя процесса (или 'group: name') @return
логический результат Всегда Истина, если не ошибка

clearAllProcessLogs ()
Очистить все файлы журнала процесса

@return array result Массив структур информации о состоянии процесса

Система методы
класс supervisor.xmlrpc.SystemNamespaceRPCInterface (пространства имен)

listMethods ()
Вернуть массив со списком доступных имен методов

@return array result Массив доступных имён методов (строки).

methodHelp (имя)
Вернуть строку, показывающую документацию метода

@param string name Имя метода. @return string result
документация по названию метода.

methodSignature (имя)
Вернуть массив, описывающий сигнатуру метода, в форме [rtype,
ptype, ptype ...], где rtype - это тип возвращаемых данных метода, а
ptypes - это типы данных параметров, которые метод принимает в методе
порядок аргументов.

@param string name Имя метода. @return array result
результат.

multicall (звонки)
Обработать массив вызовов и вернуть массив результатов. Звонки должны
быть структурами вида {'methodName': string, 'params': array}. Каждый
result будет либо массивом из одного элемента, содержащим значение результата, либо
структура формы {'faultCode': int, 'faultString': string}. Это
полезно, когда вам нужно сделать много небольших звонков без большого количества раундов
поездки.

@param array calls Массив запросов на вызовы @return array result An
массив результатов

PLUGINS


ИНДЕКСЫ И ТАБЛИЦЫ


· Genindex

· Modindex

· поиск

Используйте супервизор онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Boost C ++ библиотеки
    Boost C ++ библиотеки
    Boost предоставляет бесплатное портативное
    рецензируемые библиотеки C++.
    упор делается на портативные библиотеки, которые
    хорошо работать со стандартной библиотекой C++.
    Смотрите http://www.bo...
    Скачать библиотеки Boost C++
  • 2
    Виртуальный GL
    Виртуальный GL
    VirtualGL перенаправляет 3D-команды из
    Приложение Unix / Linux OpenGL на
    серверный GPU и преобразует
    визуализированные 3D-изображения в видеопоток
    с которым ...
    Скачать VirtualGL
  • 3
    libusb
    libusb
    Библиотека для включения пользовательского пространства
    прикладные программы для связи с
    USB-устройства. Аудитория: Разработчики, Конец
    Пользователи/рабочий стол. Язык программирования: С.
    Категории ...
    Скачать libusb
  • 4
    Сковорода
    Сковорода
    SWIG - это инструмент для разработки программного обеспечения
    который соединяет программы, написанные на C, и
    C ++ с множеством высокоуровневых
    языки программирования. SWIG используется с
    разные...
    Скачать SWIG
  • 5
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, созданная с помощью
    Далее JS, Webpack, Babel, Node и
    Экспресс, используя GraphQL и Apollo
    Клиент. Магазин WooCommerce в React (
    содержит: продукты...
    Скачать тему WooCommerce Nextjs React
  • 6
    Archlabs_repo
    Archlabs_repo
    Репозиторий пакетов для ArchLabs Это
    приложение, которое также можно получить
    от
    https://sourceforge.net/projects/archlabs-repo/.
    Он был размещен на OnWorks в...
    Скачать archlabs_repo
  • Больше »

Команды Linux

Ad