Я использую несколько скриптов casperjs (которые я не совсем понимаю) с известной проблемой, заключающейся в зависании процесса после определенного предупреждающего сообщения. В противном случае он выводит сообщение журнала каждые несколько секунд.
Мне нужно перезапустить процесс, когда он зависает.
Могу ли я создать сценарий, который проверяет, увеличивается ли размер файла журнала на каждом временном интервале? Или я могу перехватить вывод процесса консоли и проверить, совпадает ли последнее сообщение с конкретным предупреждением?
Любая помощь будет принята с благодарностью!
#!/bin/sh
LOGFILE="/path/to/logfile/"
CURRENT_SIZE=`stat --format "%s" $LOGFILE`
while true; do
LAST_SIZE=$CURRENT_SIZE
sleep 10
CURRENT_SIZE=`stat --format "%s" $LOGFILE`
if [[ $CURRENT_SIZE -eq $LAST_SIZE ]]; then
echo "Restarting process"
#do whatever you need to restart process...
sleep 5
CURRENT_SIZE=`stat --format "%s" $LOGFILE`
fi
done