Ответ 1
Начиная с версии 3 администратора, вы можете использовать команду supervisorctl pid <name>
для вывода списка pid
управляемых процессов:
supervisorctl pid programname
Используйте supervisorctl pid all
, чтобы получить разделенный новой строкой список pid
всех управляемых процессов.
Для более старых версий супервизора вы застряли с supervisord status
, но с небольшим массажем awk
, sed
и paste
вы можете извлечь эти pid
, чтобы они были приемлемы в качестве входных данных для других команд:
echo 'bin/supervisorctl status | grep RUNNING | awk -F' ' '{print $4}' | sed -e 's/,$//' | paste -sd' ''
перечисляет все pids запущенных программ в виде списка через пробел. Замените echo
командой kill -HUP
, чтобы отправить им все сигналы SIGHUP
, например.