labctl
войти регистрация

Удалить устаревший pid-файл

имя
stale-pid
образ
python:3.12-slim
таймаут
30с
проверка…

Задание

Удалить устаревший pid-файл

Сервис не запускается: он видит pid-файл от прошлого запуска и считает, что
уже работает. Но записанный в нём PID больше не существует — это «устаревший»
(stale) pid-файл, который нужно удалить.

Симптомы

$ cat /var/run/app.pid
99999
$ ps -p 99999
<пусто — процесса нет>
$ service app start
app already running (pid 99999)

Требуемое состояние

Файл /var/run/app.pid не должен существовать, либо PID внутри него должен
соответствовать реально запущенному процессу.

Почему

Классический сценарий «сервис не стартует после краха». Тренировка работы с
pid-файлами, ps -p, rm. Важно сначала проверить, жив ли процесс, и только
потому удалять файл.

Подсказки

Подсказки: удалить устаревший pid-файл

  • Посмотреть содержимое: cat /var/run/app.pid
  • Проверить, жив ли процесс: ps -p $(cat /var/run/app.pid)
  • Если процесса нет — pid-файл устарел, удалите его: rm /var/run/app.pid
  • Проверка: ls /var/run/app.pid должен сообщить, что файла нет.

Последние попытки

  • Загрузка…

Разовый запуск (smoke-тест)

Атомарный цикл up → check → down. Полезно для CI; без предварительной подготовки состояния проверка завершится с ошибкой.