автозапуск скрипта на питоне из bash; как?, cmd4, 31-Янв-14, 05:49 [смотреть все]Здаров всем.вот столкнулся с проблемой: имеется скрипт на питоне который переодически дохнет, по этому его надо перезапускать(лучше конечно чтоб он не дох, но я в питоне ноль). для перезапуска написал такой скрипт: ---------------------------------------------- #!/bin/bash tmp="" program="python" checkpoint="0" while [ 1 == 1 ];do #бесконечный цикл pid=`pidof $program` if [ -z "$pid" ]; then #если pidof не дает номер процесса, выполнить. pid=`pidof $program` sleep 5 echo "отработал $checkpoint циклов и сдох" >>tmplog point=`date` echo "перезапуск скрипта $point" >>tmplog checkpoint="0" randomfn=`date +%Y%m%d%k%M%S%N | tr -d ' '` /usr/bin/python /usr/local/bin/script -w /home/user/log/$randomfn.log fi checkpoint=$(( $checkpoint + 1 )) sleep 1 done --------------------------------------------------------------- так вот не могу понять почему если я запускаю этот скрипт впервый раз, т.е. вводя имя скрипта в командной строке, то скрипт на питоне нормально стартует и пишет лог, но в дальнейшем после смерти питоновского скрипта он более не запускается, тоесть $randomfn.log создается каждые пять секунд но гребаный скрипт на питоне не отрабатывает, в итоге куча пустых логов в папке. так как мне этого засранца запустить то? думал в путях дело "не видит", так после прописки полных - эффект тот-же..... что делать хз
|
- автозапуск скрипта на питоне из bash; как?, _KUL, 06:57 , 31-Янв-14 (1)
А если так? res=`/bin/ps aux | grep NAMESCRIPT | wc -l` if [ ${res} -lt 2 ]; then #проверить, 1 или 2, т.к. может быть минимум 1 всегда, если настроен вывод grep --colour=auto `/usr/bin/python /usr/local/bin/script -w /home/user/log/script.log` fi
- автозапуск скрипта на питоне из bash; как?, cmd4, 10:22 , 31-Янв-14 (2)
> А если так? > res=`/bin/ps aux | grep NAMESCRIPT | wc -l` > if [ ${res} -lt 2 ]; then #проверить, 1 или 2, т.к. > может быть минимум 1 всегда, если настроен вывод grep --colour=auto > `/usr/bin/python /usr/local/bin/script -w /home/user/log/script.log` > fi вроде работает, в кавычках дело чтоли? `` , ладненько, подожду пока еще пару раз сдохнет, благодарю :)
- автозапуск скрипта на питоне из bash; как?, cmd4, 10:39 , 31-Янв-14 (3)
Удивительно :) , теперь все работает, скрипт пишет лог, но в один файл, первоначально созданный при первом запуске, параллельно с этим при перезапуске создает пустые файлы логов, сколько раз дохнет питоновский скрипт столько новых пустых логов создает, но при это м всеже пишет вывод в первый лог.... 0_о ..., буду разбираться...
|