как правильно загрузить, выгрузить, перезагрузить, убить vdr?

  • как правильно загрузить, выгрузить, перезагрузить, убить vdr?


    1) загрузить
    тут для меня более менее понятно
    - проверяем и если надо загружаем драйвер - или для надежности просто выгружаем
    драйвер и загружаем его - хотя бы для того чтобы установить правильный видео-режим
    (речь идет о ff skystar1) и запускаем сам вдр - с плагинами и указаниями
    -с где находятся конфиги
    -v где видео директория
    -L где плагтны лежат


    Исходный код
    # set video for s-video out
    rmmod dvb-ttpci
    modprobe dvb-ttpci vidmode=3
    
    
    # load vdr
    ./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -Ptext2skin -Psc -Pfemon -Pchannelswitcher -Preelchannelscan


    2) как правильно выгрузить вдр из самого vdr ?
    какую скажем так команду надо прописать в commands.conf ?
    попробовал killall -q -TERM ./vdr - вроде срабатывает - но
    правильно ли?


    3) выгружаю вдр из консоли ctrl-c --- а цивилизованный способ есть?


    4) как кончить вдр? были случаи когда по непонятной причине консоль из
    которой запущен вдр вдруг вылетала по ошибке а вдр при закрытии
    консоли вдруг ни с того ни с сего запускался --- на команды он не
    реагирует при этом - одна возможность - убить его -
    единственный способ который я нашел - запустить ksysguard от рута
    и убить процесс vdr - можно как нибудь по-другому?


    5) как правильно прописать в загрузочный скрипт проверку на зависы вдр?
    поясните плз как например это сделано в оригинальном runvdr


    тут для меня несколько непонятных моментов
    - что это $VDRPRG -w 60 $* -? эти 60 секунд вроде и есть интервал проверки
    на зависон - да?
    - далее запускается VDRCMD
    - как понимать условие проверки if ? что проверяется?
    - на кой ляд тут date ?
    - потом вроде передергивают драйвер
    - потом снова зачем то date


    чуть не забыл - все это в дебиан этч с иксами


    один дурак (это я о себе) может задать столько вопросов что и тысяча мудрецов не ответят ))))

  • по поводу п.4 "как убить вдр"


    - ps с такими опциями выводит номера пидов процессов с названием запустившей
    вдр команды
    - kill посылает команду terminate первому процессу относящемуся к вдр - при этом
    убиваются и все другие процессы - чувствуешь себя терминатором убившим
    беззащитный вдр ))))


    или так - убить все процессы по имени - прям как при усатом было - всех с такой то
    фамилией - 10 лет без права переписки

    Исходный код
    # killall vdr
  • итак - ошибки выдаваемые вдр
    при загрузке только вдр без плагинов например так
    VDRPRG="./vdr -v /vdr/video -c /vdr -L /vdr/plugins/lib"
    - 0 если прибить вдр из commands.conf командой killall -q TERM vdr
    - 1 если перезапустить вдр командой из меню "Настройка" - "Перезапустить"
    - 2 если вдр при запуске не находит плагина скажем


    а вот при загрузке плагинов - ситуация меняется радикально
    DRPRG="./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -Ptext2skin -Psc -Pfemon -Pchannelswitcher
    -139 и при убийстве из commands.conf и из меню "Настройка" - "Перезапустить"


    Других ошибок не видел


    в-общем я слегка изменил скрипт
    - добавил проверку и на код 139 посчитав его за нормальный код завершения
    (иначе из вдр никак не выйти ) .
    - добавил присвоение переменной ERROR_CODE=$? для того чтобы можно было использовать
    этот код не один раз а несколько - он при выполненнии любой команды содержит
    уже код ошибки последней команды
    - и для отладки и понимания процесса ввел запись лога завершения вдр

  • > как правильно загрузить, выгрузить, перезагрузить, убить vdr?


    Ответ есть в ArVDR'e и называется:
    /etc/init.d/runvdr
    и еще
    /etc/init.d/dvb

  • проблема в том что арвдр не ипользую ))) только недавно загрузил дистр арвдр и
    немного его посмотрел - сделано профессионально но заточено на работу
    как standalone вариант- вся машина управляется вдр- вдр запускается при старте
    системы у меня же вдр работает
    как приложение в имеющейся системе - отсюда и такие потуги на самостоятельное
    изучение - да и просто это интересно - самому справится - как в старые добрые
    советские времены - мы героически создаем себе проблемы и потом героически их решаем )))
    не люблю пользоваться готовыми решениями - пусть и профессиональными ....
    по пути я еще изучаю линукс - и путь его изучения на конкретных задачах
    считаю единственно правильным ))))
    конечно я скрипты запуска арвдр посмотрел - но с первого взгляда они мне показались
    сложноваты для понимания и я взял оригинальный runvdr


    а то что я выложил сюда свои небольшие решения - думаю никому не помешало....
    да и топик со знаком вопроса - но никто не откликнулся - и решил сам сделать -
    получилось может не красиво но работает ))))


    что-то я разболтался - не слушайте меня - у меня словесный понос ))))

  • Так просто описание :)




    проверку на зависание чего-то вроде тута нету .

  • Цитата

    Со слов пользователя Courage
    что-то я разболтался - не слушайте меня - у меня словесный понос ))))


    Спасибо за разъяснение. А я думаю: что это человек мучается?! Ученье - свет.

  • Akkermanec
    спасибо за расшифровку ))) правда сам расшифровал + немного набралси знаний -
    известно что если сам разбираешься - запоминаешь намного лучше ))))
    а параметр -w sec инициализирует встроенный в вдр wotchdog с интервалом
    столько то сек


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


    а вообще - меня иногда просто убивают какие нибудь строки в скриптах в
    которых кроме автора никто не разберется - т.е. для меня - сосунка в програмировании
    в них вообще не разобраться - да думаю и не все линуксоиды со стажем смогут
    разобрать заклинания и камлания которые некоторые люди пишут ....
    к чему это я ---- насколько было лучше если бы народ писал "прозрачный" код...
    а если еще и с коментариями ........


    это тоже не читайте .... ну вы про мой словесный понос знаете ))))