Как сделать демон уникальным?

Если у вас есть скрипт, который запускает какую-то программу и смотрит на статус выхода программы (с $?), и вы хотите протестировать этот скрипт, выполнив что-то это приводит к тому, что $?устанавливается на некоторое известное значение (, например, 3), просто выполните

(exit 3)

Круглые скобки создают под-оболочку. Затем команда exitвызывает эту оболочку sub -для выхода с указанным статусом выхода.

2
04.05.2020, 19:07
1 ответ

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

Работа с «устаревшим файлом pid», когда процесс не запущен, но файл все еще существует, определяется путем перечисления процессов с этим идентификатором. Если соответствующий процесс не найден, можно предположить, что он был неправильно остановлен, а файл PID удален.

-1
28.04.2021, 23:16

Теги

Похожие вопросы