Запуск команды в случае остановки процесса

Тема в разделе "Администрирование серверов", создана пользователем HaKyPeHHbIu Nike, 8 янв 2015.

Модераторы: mefish, stooper
  1. HaKyPeHHbIu Nike

    HaKyPeHHbIu Nike Постоялец

    Регистр.:
    17 мар 2010
    Сообщения:
    116
    Симпатии:
    23
    Можно ли в linux организовать мониторинг процесса, чтобы в случае остановки выполнялась заданная команда?
     
  2. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    426
    Симпатии:
    410
    Код:
    #!/bin/bash
    PROCESS=process_name
    PIDS=`ps cax | grep $PROCESS | grep -o '^[ ]*[0-9]*'`
    if [ -z "$PIDS" ]; then
      echo "Process not running." 1>&2
      echo "trying to start ..."
      command to restart or start
        exit 1
        else
          for PID in $PIDS; do
          echo $PID
        done
    fi
    
    ставите на крон и всё
     
    amiss, HaKyPeHHbIu Nike и latteo нравится это.
  3. HaKyPeHHbIu Nike

    HaKyPeHHbIu Nike Постоялец

    Регистр.:
    17 мар 2010
    Сообщения:
    116
    Симпатии:
    23
    Имя процесса в этом случае полным должно быть? Например ./serverfiles/accounting или достаточно просто accounting?
     
  4. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    426
    Симпатии:
    410
    просто accounting
    для проверки например httpd
    Код:
    # ps cax | grep httpd | grep -o '^[ ]*[0-9]*'
    8676
    8679
    8680
    8681
    8682
    8683
    8684
    8685
    8686
    
    для проверки отработки процесса accounting введите в командной строке ps cax | grep accounting | grep -o '^[ ]*[0-9]*'

    а ./serverfiles/accounting - это бинарник или скрипт? если скрипт - то смотрите что он запускает
     
    HaKyPeHHbIu Nike нравится это.
  5. HaKyPeHHbIu Nike

    HaKyPeHHbIu Nike Постоялец

    Регистр.:
    17 мар 2010
    Сообщения:
    116
    Симпатии:
    23
    это бинарник, щас попробую сделать как вы выше описали. кстати, что делает последняя команда fi?
     
  6. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    426
    Симпатии:
    410
  7. v1k0nt

    v1k0nt Создатель

    Регистр.:
    23 апр 2015
    Сообщения:
    34
    Симпатии:
    4
    Еще можешь посмотреть в сторону Monit. Очень хороший и полезный сервис на сервере.
    http://mmonit.com/monit/
     
  8. IvanMega

    IvanMega Постоялец

    Регистр.:
    26 янв 2015
    Сообщения:
    87
    Симпатии:
    25
    установи screen и vnc , а дальше пропиши в конфиге для vnc автозапуск.
     
  9. v1k0nt

    v1k0nt Создатель

    Регистр.:
    23 апр 2015
    Сообщения:
    34
    Симпатии:
    4
    можно немного подробнее, чтото совсем не понятна идея как screen и vnc может помочь мониторить процессы?
    скрнин - запускает процессы в 'фоне' и позволяет шарить сесии
    vnc - удаленное подключение
     
  10. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    426
    Симпатии:
    410
    а никак, вы как 2 троля разыгрываете цирк :)