(перенаправлено с «0000100202»)

Вопрос:Запуск КРОС после сбоя по питанию

Материал из Юпитер-8

!!!ВНИМАНИЕ!!!
В случае, когда для проверки запуска PostgreSQL, был использован наш скрипт, в дальнейшем команда start/stop/restart для smpo-server будет иметь вид:

service smpo-server start/stop/restart

 Иногда возникает проблема старта сервиса smpo-server после сбоя по электропитанию. Решение данного вопроса требует некоторых действий на уровне ОС.
  Данная проблема связана со спецификой ведения контроля запущенных процессов в ОС семейства Linux, где в качестве контроля работы процессов используется создание файлов с индексом процесса.
  Поэтому, после аварийного выключения компьютера(то же самое, что и нажать кнопку "Резет"), файлы контроля процессов могут не удаляться, особенно в том случае, если они хранятся в нестандартном
  месте.
  Для восстановления работы комплекса рекомендуется выполнить следующие действия:
       1. После загрузки ОС необходимо запустить "Terminal Fly": "Пуск"->"Системные"->"Terminal Fly"
       2. Все действия необходимо выполнить с правами суперпользователя, поэтому выполняем команду: sudo su
       3. Проверяем запущен ли PostgreSQL: ps -aux|grep postgres
          В результате выполнения команды, Вы должны получить примерно следующий отклик системы
          
          В этом случае Вам необходимо перезагрузить сервис smpo-server: /etc/init.d/smpo-server restart
          Далее переходим к пункту 7
       4. Если отклик системы отличается от изображения в п.3, тогда выполняем следующие команды
          systemctl stop postgresql
          /etc/init.d/smpo-server stop
          ps -aux|grep smpo 
          Отклик системы должен выглядеть примерно таким образом:
          
          4.1. Если отклик системы выглядит следующим образом:
               
               То это говорит о том, что процесс не выгружен. В этом случае необходимо выполнить следующие команды:
               kill -9 <номер процесса> - в нашем примере номера процессов 19360 и 19378
       5. Далее необходимо удалить файлы фиксирующие статус выполнения сервиса smpo-server:
          rm /usr/local/smpo-server/conf/pid
          rm /usr/local/smpo-server/conf/smpo.active
       6. Запускаем сервисы:
          systemctl start postgresql
          /etc/init.d/smpo-server start
          Для проверки выполнения команд набрать:
          ps -aux|grep postgres
          Отклик системы должен выглядеть, как на рисунке в п.3
       7. Далее в браузере проверяем работу КРОС.

Так же Вы можете воспользоваться файлом rescuesmpo.sh для выполнения действий без внешнего контроля.
Необходимо скачать файл и выполнить его в окне терминала. Для этого необходимо выполнить следующие действия:
1. После загрузки ОС необходимо запустить "Terminal Fly": "Пуск"->"Системные"->"Terminal Fly"
2. Перейти в каталог, куда сохранен, скачанный файл. По-умолчанию это каталог Загрузки: cd Загрузки
3. Выполнить запуск скрипта: sh ./rescuesmpo.sh
4. Проверить запуск КРОС в браузере.
Так же, можно попробовать, автоматизировать процесс проверки запуска PostgreSQL после аварийного выключения.
В начало статьи