Я настраиваю monit и хочу контролировать данное приложение python. Monit делает это, просматривая файлы .pid для процессов, но я не знаю, где это будет.
Я также попытался создать свой собственный простой исполняемый файл и запустить его - и здесь я не могу понять, где создается файл .pid.
И есть ли у всех процессов файл .pid?
linux
monitoring
monit
pid
Ярина
источник
источник
.pid
файл. Приложение (или его скрипт запуска) должно явно его создать.Ответы:
Обычно вы найдете PID-файлы для демонизированных процессов в
/var/run/
системах в стиле Redhat / CentOS.Если не считать этого, вы всегда можете заглянуть в сценарий инициализации процесса. Например, демон SSH запускается со скриптом в
/etc/init.d/sshd
. Иногда там указывается PID (поиск pid, PID, PIDFILE, PID_FILE и т. Д.).Однако большинство других демонов в системах в стиле RHEL используют
/etc/init.d/functions
сценарий для некоторых общих функций.Для всего, что источники
/etc/init.d/functions
, PID будет жить/var/run/*.pid
.Для пользовательских приложений PID будет определен в скрипте-оболочке (надеюсь). Однако большинство разработчиков, которых я знаю, придерживаются того же соглашения, что и приведенные выше демоны.
Если вы делаете наталкиваются что - то без файла PID, помните , что монит может контролировать на струнный процесс патерн а .
источник
monit procmatch anything
в командной строке, я получаюmonit: invalid argument -- procmatch
. Есть идеи?monit -V
) Какая ОС / дистрибутив?Другой подход, который я выбрал:
У меня есть сервер базы данных, работающий во встроенном режиме, и данные находятся в каталоге содержащего приложения.
В базе данных есть что-то вроде файла .pid, но он называет это файлом блокировки. Чтобы найти этот файл блокировки, я перечислил все файлы, открытые приложением:
Это дало мне длинный список, включающий сокеты, каналы, файлы сервера и т. Д. Несколько фильтров, и я получил то, что мне было нужно:
источник