>_ IzzyLab

Практическое задание

Забытый lock-файл

средне

Демон worker не стартует: /opt/worker/start.sh пишет «already running», хотя процесса нет. Причина — оставшийся после падения lock-файл /var/run/worker.lock. Убери его и запусти демон.

Что потренируешь:
  • lock-файлы
  • процессы
  • pgrep
  • демоны
  • фоновый запуск

Разбор темы

Многие демоны используют lock-файл (pidfile) как признак «я уже запущен», чтобы не поднять второй экземпляр поверх живого. Проблема в том, что при аварийном падении процесс не успевает подчистить за собой этот файл — и остаётся «протухший» lock, из-за которого стартовый скрипт думает, что демон работает, хотя процесса давно нет. Правильный порядок — сначала убедиться через pgrep/ps, что живого процесса действительно нет (иначе получишь гонку двух экземпляров), и только потом удалять устаревший lock. При запуске демона учитывай, что foreground-процесс умрёт вместе с сессией — его нужно отвязать от TTY (setsid, nohup, disown).

Что проверяется

  1. Демон worker запущен

Как это выглядит