Startscript: использование $! создать pidfile – иногда возвращать неправильный pid (выключен одним)

У нас есть три экземпляра redis, запущенных на тестовом сервере. По какой-то причине наш стартовый скрипт, который запускает redis, может записать неправильный pid в файл. Вот что он делает:

su redis -c "redis-server /redis.conf & echo \$! > /var/run/redis_6379" 

Если я объединил redis_6379 start && redis_6380 start && redis_6381 start, а затем я остановлю их так и начну их так, после 10 или 15 итераций я встречу pid в стартовом файле, который отключен на 1.

Кто-нибудь знает, почему это может произойти?

One Solution collect form web for “Startscript: использование $! создать pidfile – иногда возвращать неправильный pid (выключен одним)”

Возможно ли, что redis-server вилки и что PID вы получаете от $! является родительским PID, но вы действительно заинтересованы в дочернем PID?

  • sed regex для группы захвата между разделителями
  • bash как перенаправить вывод из функции в / dev / null
  • Loop в скрипте на удаленном сервере не работает
  • Поиск файлов с использованием сценария оболочки
  • Bash Scripting: Как ограничить количество опций в цикле выбора?
  • Перемещение по вложенным папкам с использованием сценария bash
  • Изменить порядок событий в скрипте bash, который записывается в crontab
  • Почему я не могу убить тайм-аут, вызванный с помощью скрипта Bash нажатием клавиши?
  • Как мне ожидать «echo -e»? \ С»?
  • Как проверить, существует ли один или оба из двух файлов?
  • Сценарий bash для взятия двух строк в текстовом файле и формирования столбцов вдоль одной строки
  • Linux и Unix - лучшая ОС в мире.