Шаблон:Вопросы:Запуск КРОС после сбоя по питанию: различия между версиями

Материал из Юпитер-8
Нет описания правки
Строка 38: Строка 38:
3. Выполнить запуск скрипта: '''sh ./rescuesmpo.sh'''<br>
3. Выполнить запуск скрипта: '''sh ./rescuesmpo.sh'''<br>
4. Проверить запуск КРОС в браузере.<br>
4. Проверить запуск КРОС в браузере.<br>
Так же, можно попробовать, [[0000100106|автоматизировать процесс проверки запуска PostgreSQL]].
<br clear="both" />
<br clear="both" />
[[#top|В начало статьи]]
[[#top|В начало статьи]]

Версия от 12:47, 8 сентября 2022

  Иногда возникает проблема старта сервиса 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.
В начало статьи