LINUX.ORG.RU

Помогите создать скрипт


0

1

С праздником! Нужно создать скрипт на Bash или Python. Проблема - при рендеринге анимации происходит segfault блендера в разное время, а общее время на этот процесс - более суток. Мне надо чтоб скрипт проверял, есть ли такой процесс, если нет то проверил какой кадр анимации последний (например 0281.exr) и в результате запустил команду

/home/bm/bin/blender-2.63/blender -b /media/disk/vfx/02-02-01-P16.blend -s 281 -a
Буду очень признателен за помощь

★★★★★

Последнее исправление: brothermechanic (всего исправлений: 2)

pid=`pgrep blender`

if [ $pid ]
    then kill $pid;
    else exit;
fi

exrpath="/media/disk/vfx/render/02-02-01/"
blenderpath="/home/bm/bin/blender-2.63/blender"
path="/media/disk/vfx/02-02-01-P16.blend"

exr=`ls $exrpath | sort | tail -n1`

$blenderpath -b $path -s $exr -a
Dragon59 ★★
()
Ответ на: комментарий от Dragon59

Условия перепутал, вот так правильно:

pid=`pgrep blender`

if [ $pid ]
    then exit;
    else kill $pid;
fi

exrpath="/media/disk/vfx/render/02-02-01/"
blenderpath="/home/bm/bin/blender-2.63/blender"
path="/media/disk/vfx/02-02-01-P16.blend"

exr=`ls $exrpath | sort | tail -n1`

$blenderpath -b $path -s $exr -a

Dragon59 ★★
()
Ответ на: комментарий от Dragon59
pgrep blender && {
exrpath="/media/disk/vfx/render/02-02-01/";
blenderpath="/home/bm/bin/blender-2.63/blender";
path="/media/disk/vfx/02-02-01-P16.blend";

exr=`ls $exrpath | sort | tail -n1`;

$blenderpath -b $path -s $exr -a;
}

;) и ты забыл сказать, что этот скрипт надо добавить в кронтаб пользователя

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)
Ответ на: комментарий от Dragon59

а такое чем не устроит?:

while [ 1 ]; do
exrpath="/media/disk/vfx/render/02-02-01/";
blenderpath="/home/bm/bin/blender-2.63/blender";
path="/media/disk/vfx/02-02-01-P16.blend";

exr=`ls $exrpath | sort | tail -n1`;

$blenderpath -b $path -s $exr -a;
done
закрывать в конце первым окно со скриптом

anonymous
()

кстати, обрати внимание на то, что никто из предложивших не обрабаывает ситуацию, что всё отрендерилось, и блендер закончил работу.

все предложенные варианты будут долбить последний фрейм до победного.

aol ★★★★★
()

Итоги

Всем, от души благодарю! Что я сделал:

$ crontab -e
(это по ману)
вышло предложение выбора редактора, я выключил консоль чтоб не напортачить,
теперь команда открывается как nano /tmp/crontab.7lw7fQ/crontab, почему???
Покажите, для тех у кого лобовая броня 10 мм, как и куда...

brothermechanic ★★★★★
() автор топика
Ответ на: комментарий от aol

ага, а значит $? уже проверять совсем лень? или он туда не сообщает ошибку? и опять же цикл с перезапуском

anonymous
()
Ответ на: комментарий от brothermechanic

например, замени

 $blenderpath -b $path -s $exr -a;
на
[ $exr != "0501" ] && $blenderpath -b $path -s $exr -a;

или вон, анон предлагает проверять $?

но из кронтаба всё равно вручную придется удалять

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 2)
Ответ на: комментарий от theNamelessOne

27 июля 2012 года - торжественная церемония открытия XXX летних Олимпийских игр в Лондоне.

Вот это — другое дело.

Eddy_Em ☆☆☆☆☆
()

а если запустить blender под GDB, оно ведь не сильно замедлит процесс рендеринга или сильно? просто хорошо бы узнать причину падения чтобы помочь разработчикам исправить баг

попутно вопрос - можно ли под GDB запускать целую ветку процессов, например скрипт и все что внутри него создастся? а микс питона нативщины и скриптов?

просто сам думаю как свой софт отлаживать, а хочется чтобы при падениях - видеть хотя бы в какой функции и модуле упало

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

хорошо бы узнать причину падения чтобы помочь разработчикам

да, я для этого создал тему Сбои на самосборном блендере только на builder.blender.org/download/ тоже также падает но реже

Memoryblock keyingscreen voronoi sites: end corrupt
Ошибка сегментирования (core dumped)
Еще бывает так
CUDA error: Invalid value in cuMemFree(cuda_device_ptr(mem.device_pointer))
Ошибка сегментирования (core dumped)

ps: скрипт еще не пробовал, сейчас рендерю уже !целый день, тьфу-тьфу, БЕЗ падений! на сборке с билдера 49312, надеюсь починили...

brothermechanic ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.