Цей скрипт перевіряє, чи запущений емулятор чи ні. Суть роботи в тому, що скрипт, через певний період, перевіряє чи є емулятор в списку процесів. Якщо емулятор не включений, або по якісь причині перестав працювати і відсутній в списку процесів, то скрипт запусить його знов. Для кардсервера саме то :D
Для прикладу був взятий емулятор
CCcam.
#!/bin/sh
while true
do sleep 300;
if ! ps |grep -v grep |grep -c /var/bin/CCcam_2.0.8 > /dev/null
then
wget -O- http://root:dreambox@localhost/NT?startEmu=1
fi
done300 це час в секундах, через який буде перевірятись список процесів.
Увага!!! Скрипт тестувався на
Nabilosat іміджі і команда перезапуску емулятора
wget -O- http://root:dreambox@localhost/NT?startEmu=1для інших іміджів буде відрізнятись.
Для
Nabilosat іміджа, щоб правильно задати команду запуску емулятора, спочатку дивимся в файл
smartcam.config в
/var/etc/osd-name 1 = Common Interface
emulator 1 = Common Interface
camd 1 =
daemon 1 =
kill 1 =
sleep 1 =
zap-sleep 1 =
osd-name 2= CCcam_2.0.8
emulator 2= CCcam_2.0.8
camd 2=
daemon 2= CCcam_2.0.8
kill 2=
sleep 2= 5
zap-sleep 2= 5
osd-name 3= mgcamd_1.30a
emulator 3= mgcamd_1.30a
camd 3=
daemon 3= mgcamd_1.30a
kill 3=
sleep 3= 4
zap-sleep 3= 4
osd-name 2= CCcam_2.0.8 , то команда буде виглядати так
wget -O- http://root:dreambox@localhost/NT?startEmu=1 тобто на одну цифру менше.