LINUX.ORG.RU

История изменений

Исправление dhameoelin, (текущая версия) :

Здесь не должно оставаться висящих в фоне sleep'ов:

#!/bin/bash

PIDFILE=/tmp/monitor.pid
TIMEOUT=600

##########################################

OLD_PID="$(test -s ${PIDFILE} && cat ${PIDFILE})"

if [[ -n "${OLD_PID}" ]]; then
    if [[ -n "$(ps -A | awk '{print $1}' | grep ${OLD_PID})" ]]; then
        kill -- -$(ps -o pgid= ${OLD_PID} | grep -o '[0-9]*')
    fi
fi

##########################################

echo $$ > ${PIDFILE}
sleep ${TIMEOUT}
ip a | tail -n +7 | mail -s "You've died 10 minutes ago..." root
wisedraco, ты так и не озвучил, нужно ли тебе оно вообще, так что я пока остановлюсь.

Исходная версия dhameoelin, :

Здесь не должно оставаться висящих в фоне sleep'ов:

#!/bin/bash

PIDFILE=/tmp/monitor.pid
TIMEOUT=600

##########################################

OLD_PID="$(test -s ${PIDFILE} && cat ${PIDFILE})"

if [[ -n "${OLD_PID}" ]]; then
    if [[ -n "$(ps -A | awk '{print $1}' | grep ${OLD_PID})" ]]; then
        kill -- -$(ps -o pgid= ${OLD_PID} | grep -o '[0-9]*')
    fi
fi

##########################################

echo $$ > ${PIDFILE}
sleep ${TIMEOUT}
ip a | tail -n +7 | mail -s "You've died 10 minutes ago..." root
Ты так и не озвучил, нужно ли тебе оно вообще, так что я пока остановлюсь.