Debian fórum

Dotazy => Všeobecná podpora => Téma založeno: Hobild kdy 27. 05. 2011, 13:36:19

Název: utilita na spuštění programu na určenou dobu
Přispěvatel: Hobild kdy 27. 05. 2011, 13:36:19
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.
Název: Re:utilita na spuštění programu na určenou dobu
Přispěvatel: jeanne kdy 27. 05. 2011, 15:18:40
cron  :)
Název: Re:utilita na spuštění programu na určenou dobu
Přispěvatel: Hobild kdy 27. 05. 2011, 16:59:27
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.
Název: Re:utilita na spuštění programu na určenou dobu
Přispěvatel: phebix kdy 05. 06. 2011, 01:11:19
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  ;)
Název: Re:utilita na spuštění programu na určenou dobu
Přispěvatel: Hobild kdy 05. 06. 2011, 02:51:47
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.