[AIDE] script bash, CGI

script bash, CGI [AIDE] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-05-2003 à 00:25:09    

hello
je suis entrain de finaliser un mini script cgi qui change la chaine télé de mon vls (videolan),
j'ai ça:
 

Code :
  1. #!/bin/bash
  2. NEWCHANNEL=""
  3. echo Content-type: text/plain
  4. echo
  5. echo killing vls ...
  6. killall vls
  7. if [ $QUERY_STRING != "" ] ;
  8. then
  9.         NEWCHANNEL=$QUERY_STRING
  10.         echo "new channel $QUERY_STRING"
  11. else
  12.         NEWCHANNEL="vls"
  13.         echo "old channel $QUERY_STRING"
  14. fi
  15. echo copying $NEWCHANNEL.cfg to vls.cfg...
  16. cp /opt/vls_cvs/$NEWCHANNEL.cfg /opt/vls_cvs/vls.cfg 2>&1
  17. sleep 2
  18. echo "launching vls..."
  19. cd /opt/vls_cvs 2>&1
  20. ./vls 2>&1 &


 
le problème est le suivant:
 
si vls tourne toujours, mon script arrête de s'exécuter en le killan, mais s'arrete a  
 
echo killing vls ...
 
 
mais si le vls est déjà mort d'avant, il s'exécute en entier,
j'aimerais trouver d'ou ca vient, si klelkun a une idée ?


Message édité par k666 le 07-05-2003 à 14:09:12
Reply

Marsh Posté le 07-05-2003 à 00:25:09   

Reply

Marsh Posté le 07-05-2003 à 13:50:02    

up silvous plait :o
peut etre vous comprenez pas bien ma question ?
ma question c que un  
 
killall kekchose qui tue effectivement kekchose arrête l'exécution de mon script, mais un killall kekchose où kekchose n'existe pas, ne l'arrête pas

Reply

Marsh Posté le 07-05-2003 à 14:01:02    

bon j'ai rajouté une petite amélioration à mon script de changement de chaine de télé pour un serveur videolan sur un device V4L, donc ca stream la télé sur tout un subnet en UDP sans monopoliser la bande passante, car on peu choisir d'envoyer de 50ko/S a 1Mo/s
 


 
#!/bin/bash
 
NEWCHANNEL=""
echo Content-type: text/html
echo
echo "<html><body>"
echo "<a href='./tv?tf1'>TF1</a><br/>"
echo "<a href='./tv?fr2'>France2</a><br/>"
echo "<a href='./tv?fr3'>France3</a><br/>"
echo "<a href='./tv?canal'>CANAL+</a><br/>"
echo "<a href='./tv?arte'>ARTE</a><br/>"
echo "<a href='./tv?m6'>M6</a><br/>"
echo "<br/><br/>"
echo "killing vls ..."
killall vls
echo "killed ..i<br/><br/>"
if [ $QUERY_STRING != "" ] ;
then
        NEWCHANNEL=$QUERY_STRING
        echo "new channel $QUERY_STRING <br/>"
else
        NEWCHANNEL="vls"
        echo "using old channel <br/>"
fi
 
echo "copying $NEWCHANNEL.cfg to vls.cfg...<br/>"
cp /opt/vls_cvs/$NEWCHANNEL.cfg /opt/vls_cvs/vls.cfg 2>&1
sleep 2
echo "launching vls...i<br/>"
cd /opt/vls_cvs 2>&1
./vls 2>&1 &
echo "</body></html>"
 
 


 
 
qui donne, dans le cas ou vls etait deja mort:
 


 
TF1
France2
France3
CANAL+
ARTE
M6
 
 
killing vls ... killed ..i
 
new channel arte  
copying arte.cfg to vls.cfg...
launching vls...i
VideoLAN Server v 0.5.5-cvs (Apr 9 2003) - (c)1999-2002 VideoLAN Info : Found V4L device BT878(Hauppauge (bt878)) 4 channel(s) 48x32->924x576 Info : Changing to channel 0 (Television) Info : changing from frequency 2944 to 8692 Info : Found V4L window 400x300 Info : Palette YUV420P Info : Opening sound device /dev/dsp Info : Encoding : 400x300 25 fps at 2048 kb/s in mpeg1video
 


 
 
pis si vls n'était mort, il tue le process mais s'arre^te comme vous pourrez contempler ci dessous:
 


 
TF1
France2
France3
CANAL+
ARTE
M6
 
 
killing vls ...  
 


 
 
 
bon c donc suite a killall vls que le script arrête de s'exécuter, mais si je reloade la page il me change effectivement la chaine (vu que vls est déjà mort)
 
 
@ l'aide !!!


Message édité par k666 le 07-05-2003 à 14:07:07
Reply

Marsh Posté le 07-05-2003 à 18:30:32    

:bounce: up

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed