Существует, цепляются проект Cern интерпретатора C++ на основе лязга.
Вот Google Talk: Представление цепляется, Интерпретатор C++ На основе clang/LLVM
while true ; do
if .... (your condition)
echo "TpsHub is RUNNING"
. /path/to/stopping/script
sleep 5
else
echo "TpsHub is NOT running"
. /path/to/deploy/script
exit 0
fi
done
Будет продолжать бежать в цикле, пока условие не удовлетворено, затем выйдите после окончания, развертываются. Если это не останавливается в течение 5 с, остановитесь, сценарий повторно выполняется
Вот другое решение, которое сокращает Ваш метод проверки, существует ли PID или не вызовом к ps -p
с Вашим PID:
while true; do
if ps -p "$(<$TPSHUB_HOME/current.pid)" &> /dev/null; then
# announce running, kill tpshub and sleep
else
# announce not running, start tpshub and quit
fi
done
Обратите внимание, что можно также использовать xargs
с ps
и перенаправление для использования значения PID, сохраненного в файле:
if xargs ps -p < "$TPSHUB_HOME/current.pid" &> /dev/null; then ...