Проверка, если процесс не работал в течение определенного промежутка времени

Раздайте некоторые ssh ключи и запуск из сценария оболочки на одном из полей? Существуют ssh серверы для Windows, который должен позволить Вам сделать это, и unixen не являются никакой проблемой.

0
задан 23 May 2011 в 11:11
1 ответ

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

Простой пример:

#!/bin/bash
pid=$(ps -ewwo args | grep [v]arnish)
check_file=/var/run/varnish.checker

# minimum difference in seconds
min_difference=180

if [ -f "$check_file" ]
then
    difference=$(($(date +"%s") - $(stat -c %Y "$check_file")))
    if [ $difference -gt $min_difference ]
    then
        ### start the varnish process here ###
        rm -f "$check_file"
    fi
else
    if [ -z $pid ]
    then
        touch "$check_file"
    fi
fi

Но почему Вы не хотите использовать внешнюю утилиту для этого? Monit является большим инструментом (демон) для этого материала. Также это может контролировать много других процессов.

2
ответ дан 4 December 2019 в 14:45

Теги

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