start-stop-daemon делает cron pidfile с неправильным pid

У меня есть сценарий init.d, чтобы запустить crond, который указывает следующее для start ():

start-stop-daemon -S --quiet --make-pidfile --pidfile /var/run/crond.pid --background --exec /usr/sbin/crond 

Однако PID всегда на одно число выше, чем указано в /var/run/crond.pid. Кто-нибудь знает, что здесь происходит? У меня есть примерно десять других скриптов init.d, которые также выполняют одни и те же вызовы, и только cron.d имеет эту проблему.

EDIT: Это интересно:

 # /usr/sbin/crond & # [1]+ Done /usr/sbin/crond # echo $! 737 # ps -eaf | grep crond 738 root /usr/sbin/crond 740 root grep crond # 

One Solution collect form web for “start-stop-daemon делает cron pidfile с неправильным pid”

Программа crond предназначена для демон. Когда он начинается, одна из первых вещей, которые он делает, вилка ребенка и выход из родителя. Это предназначено для сред, в которых вызывающий абонент ожидает выхода программы перед продолжением, тогда как демону необходимо продолжить выполнение в фоновом режиме.

 caller ---- fork--> wait -------------------------+-> ... | | '----> exec crond ---- fork--> exit -' | '----> read crontab, wait for time of next job, ... 

PID, записанный start-stop-daemon является PID родителя. Если в течение короткого промежутка времени между двумя вилками не происходит никаких других процессов, ПИД-диск ребенка становится PID родителя плюс один.

Так как start-stop-daemon предназначен для обработки демонов и позволяет им работать в фоновом режиме, скажите, что crond останется на переднем плане, то есть не в fork в начале.

 caller ---- fork--> store pid; ... | | '----> exec crond -f ----> read crontab, wait for time of next job, ... 

С crond BusyBox передайте ему опцию -f .

 start-stop-daemon -S --quiet --make-pidfile --pidfile /var/run/crond.pid --background --exec /usr/sbin/crond -- -f 
  • Преобразование update-rc.d redis_6379 по умолчанию в команду chkconfig
  • Cron job throwing error "service: not found ", но при выполнении вручную в терминальном скрипте работает нормально
  • Невозможно запустить ZNC как услугу
  • ключевое слово сервиса «сервис» не требуется
  • Default-Start не содержит уровней запуска
  • Как использовать замещение процесса внутри case-case без получения синтаксических ошибок?
  • Тайм-аут с «перезагрузкой сетевой сети»
  • Ошибка сценария загрузки chkconfig, сценарий работает хорошо вручную
  • systemd: напишите .service daemon для настройки swap и fs в zram
  • Как проверить, установлена ​​ли Samba
  • Как работают службы в Debian и как я могу ими управлять?
  • Interesting Posts

    Восстановление данных с поврежденного жесткого диска: «трюк с морозильной камерой»

    Шаблоны ssh config, чтобы избежать ввода имени пользователя

    Время ISO8601 повсюду?

    Как заставить Debian Jessie использовать проприетарный драйвер nvidia?

    Тайна небольшого раздела жесткого диска 1K и безопасна или вредоносная программа на Ubuntu 12.04.02LTS Amd64 generic

    Как найти полную историю файла?

    Вам нужно установить Java для работы в студии Android?

    Как создать вложенный каталог в одну команду?

    SSH-шаг в установке виртуальной машины RelView 8.2 не работает

    Kali Linux не загружается с USB-накопителя

    Создание и форматирование exFAT-раздела из Linux

    Ошибка «Short read block» при попытке загрузки RHEL

    dhcpd для интерфейса с несколькими адресами и ссылками (псевдонимы)

    Чтобы быть совместимым с SOX, мне нужно записывать журналы на годы. Нужна помощь с участниками

    Как я рекурсивно удаляю каталоги с помощью шаблона?

    Linux и Unix - лучшая ОС в мире.