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.
cron :)
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.
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 ;)
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.