Сценарии инициализации: нужен ли мне файл PID?

Я новичок в мире сценариев инициализации и все еще новичок в BASH. В настоящее время я нахожусь в ситуации, когда я мог бы воспользоваться некоторыми советами.

Мы запускаем приложение, использующее JBOSS, и мне нужно иметь возможность обрабатывать его как демон, используя сценарий инициализации. Я впервые пишу сценарий инициализации, и я понимаю, что часто файлы .pid используются для отслеживания процесса с помощью сценария инициализации, однако мне интересно, действительно ли они нужны в моей ситуации.

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

Вот пример того, что я написал.

JBOSSPID=$(checkproc -v $JBOSS_PROCESS_NAME)

function _stop {
   # Check if JBOSS is running..
   if [ -z "$JBOSSPID" ]; then
      echo "Service is not running.."
      exit
   fi

   # Attempt to shutdown JBOSS gracefully..
   echo "Stopping service.."
   ./stop_jboss.sh

   # Loop until JBOSS PID no longer exists..
   RUNNING=0
   while [ "$RUNNING" == "0" ]
   do
      JBOSSPID=$(checkproc -v $JBOSS_PROCESS_NAME)
      if [ "$JBOSSPID" == "" ]; then
         RUNNING=1
      fi
   done
}

Я написал свои функции "start" и "status" для получения PID, подобного этому. Я протестировал его, и, похоже, он работает нормально, но я не знаю, есть ли что-то, что мне не хватает, что могло бы пойти не так без файла .pid. Есть ли у меня причины отказаться от этой логики и вместо этого использовать файл .pid?

0
09.11.2015, 16:21
0 ответов

Теги

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