The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"автозапуск скрипта на питоне из bash; как?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"автозапуск скрипта на питоне из bash; как?"  +/
Сообщение от cmd4 email on 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 создается каждые пять секунд но гребаный скрипт на питоне не отрабатывает, в итоге куча пустых логов в папке. так как мне этого засранца запустить то? думал в путях дело "не видит", так после прописки полных - эффект тот-же..... что делать хз

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "автозапуск скрипта на питоне из bash; как?"  +/
Сообщение от _KUL (ok) on 31-Янв-14, 06:57 
А если так?
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
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "автозапуск скрипта на питоне из bash; как?"  +/
Сообщение от cmd4 email on 31-Янв-14, 10:22 
> А если так?
> 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

вроде работает, в кавычках дело чтоли? `` , ладненько, подожду пока еще пару раз сдохнет,

благодарю :)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "автозапуск скрипта на питоне из bash; как?"  +/
Сообщение от cmd4 email on 31-Янв-14, 10:39 
Удивительно :) , теперь все работает, скрипт пишет лог, но в один файл, первоначально созданный при первом запуске, параллельно с этим при перезапуске создает пустые файлы логов, сколько раз дохнет питоновский скрипт столько новых пустых логов создает, но при это м всеже пишет вывод в первый лог.... 0_о ..., буду разбираться...
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру