utilita na spuštění programu na určenou dobu

Založil Hobild, 27. 05. 2011, 13:36:19

Předchozí téma - Další téma

Hobild

Ahojte,
neznáte někdo nějakou nástroj/skript, která by mi umožnil spustit program v zadaný čas a po uplynutí určené doby ho zase killnout? Dik.

jeanne


Hobild

neni problem spusteni, ale potreboval bych, aby si user mohl spustit program v jim zadanou dobu na jim zadanou dobu. Na spusteni se nabizi spis at nez cron, ale nasledne je zapotrebi zjistit pid a v urcenou dobu ho killnout. Podotykam, ze stejny program muze bezet ve vice instancich, takze vyuziti killall neprichazi do uvahy. No, pokud nic neni, asi to musim naskriptovat sam.
H.

phebix

co treba neco jako toto:

#!/bin/bash
gedit &   # spustime pozadovany program na pozadi
pid=$!   # zapamatujem si PID procesu ktery sme naposledy spustili na pozadi
sleep 10   # pockame pozadovany cas
kill $pid   # ukoncime


jen to pak spustit cronem v dany cas  ;)

Hobild

dik, hledal jsem pro urychleni casu neco hotoveho, takze jsem si to uz nejak zbastlil:
#!/bin/bash

if [ $# != 3 ]; then

echo " spust znovu a zadej: kanál CT (1,2 nebo 24), začátek programu a konec programu v HHMM"
exit 1
fi
case "$1" in
1)
echo "wine ~/bin/ytd/ytd.exe -r -o /home/moje/Dokumenty/multimedia/video/wdh http://www.ceskatelevize.cz/ct1/zive/ & sleep 2 && ps -C ytd.exe -o pid >./pid.txt" | at $2
;;
2)
echo "wine ~/bin/ytd/ytd.exe -r -o /home/moje/Dokumenty/multimedia/video/wdh http://www.ceskatelevize.cz/ct2/zive/ & sleep 2 && ps -C ytd.exe -o pid >./pid.txt" | at $2
;;
24)
echo "wine ~/bin/ytd/ytd.exe -r -o /home/moje/Dokumenty/multimedia/video/wdh http://www.ct24.cz/vysilani/ & sleep 2 && ps -C ytd.exe -o pid >./pid.txt" | at $2
;;
esac

echo "~/bin/vypni_nahravaniCT.sh" | at $3

a v tom je:
#!/bin/bash
kill `tail -1 ~/bin/pid.txt`

Na vic nebyl cas. Nasledne jsem zjistil, ze u CT1 a 2 neni potreba vypinani - stream se automaticky prerusuje po odvysilani poradu. CT24 jsem v tomhle ohledu jeste nevyzkousel.
H.