Мониторинг и перезапуск процесса

Просмотров: 346

Как с помощью BASH-скрипта мониторить процесс и в случае его завершение, перезапускать его
Article Image

Здаров. Есть у меня один нестандартный комп, а точнее КИВИ-терминал с Линуксом на борту. На нем производится подключение к 1С-серверу. Так вот, несколько раз в день конфигурацию в 1С изменяют, после чего надо в нее перезаути. Все же просто: на терминальном сервере 1С всего лишь надо произвести выход из системы для этого пользователя, а на терминале произвести переподключение по RDP. Но сложность в том, что это надо делать ручками. На помощь пришел Bash. Скрипт выглядит следующим образом:
 

#!/bin/bash
while true
do

case "$(pidof rdesktop | wc -w)" in

0)  echo "Restart 1C:"
    rdesktop ip_адрес_сервера -f -u юзер -p пароль_юзера &
    ;;
1)  echo "1C already running"
    ;;
esac
 sleep 3s
done

Все просто. Запускаем бесконечный цикл, в цикле с помощью полезной тулзы pidof проверяем состояние процесса rdesktop. Если pidof вернет нам 0 (не запущен), то запускаем rdesktop с нужными параметрами, а если pidof вернет 1, ничего, кроме вывода сообщения (можно даже и это не делать) не делаем. Ну а в конце цикла ставим sleep (паузу) 3 секунды, можно поставить, сколько религия позволяет. Соответственно, если надо мониторить другой процесс, меняем в case rdesktop на что-то другое, и после echo "Restart 1C:" пишем ту строку, которая должна выполниться в случае отсутствия нужного процесса в системе.

 

Опубликовано 24 Марта 2017 в категории BASH

comments powered by HyperComments
Поиск по сайту:

Теги:

Популярные статьи:

Новости IT:

^ Наверх