Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: jmu - 11.04.15 - klo:19.07
-
Tallennan videostreameja ajastetusti crontabin avulla komenolla mplayer -dumpstream -dumpfile jne. ja lopetan tallennuksen komennolla killall mplayer. Homma toimii, mutta jos samaan aikaan täytyy tallentaa kaksi kanavaa eri päättymisajoilla, niin tämä ei enää toimikaan.
Pystyykö mplayer prosesseja yksilöimään ja miten näihin pääsee käsiksi?
-
mplayeristä en tiedä mitään, mutta tässä nyt joitakin ajatuksia
ps -A | grep mplayer
näyttää kaikki käynnissä olevat mplayer-prosessit, en tiedä käynnistyykö useampi instanssi mplayeristä eri prosesseihin vaiko kaikki samaan.
pgrep mplayer
palauttaa prosessinumerot joiden mukaan ohjelman voi kuolettaa näin
kill 1234
jossa 1234 on pgrep:n palauttama numero.
timeout voisi olla kätevä, esim
timeout 10 gedit
Käynnistää Geditin 10 sekunnin ajaksi ts. timeoutilla haluttu ohjelma saadaan olemaan käynnissä halutun ajan.
man -sivut kertoo noista enemmin, esim
man timeout
-
Tallennan videostreameja ajastetusti crontabin avulla komenolla mplayer -dumpstream -dumpfile
Ei varmaan liity asiaan, mutta minä käytän kaffeinea videoiden tallennukseen. Siinä on helppo määritellä EPG:stä tallennuksen aloitus ja lopetusaika. Ja muuttaa ne haluamikseen.
T. Ari
-
----
Pystyykö mplayer prosesseja yksilöimään ja miten näihin pääsee käsiksi?
On näköjän jossain ikuvanhassa skriptissä noin:
...
mplayer -dumpstream .... >/dev/null&
echo $$ >> /home/jekku/.lokit/loki...
sleep $aika
kill %1
...
Tuo muuttuja aika annetaan kutsussa (samoin kuin muut tarvittavat vivut), ja hienosti pysähtyy.
-
Pari ehkä hyödyllistä asiaa kun skriptaus kyseessä, näkyy tuolla "jekku": n esimerkissäkin yllä:
$$ = skriptin itsensä pid
$! = viimeksi taustalle heitetyn prosessin pid
kill %1 = tapa job id 1 (siis ei "pid" vaan "job id", kasvavat 1,2,3,.. kun käynnistät jotain peräkkäin)
jobs = listaa job id: t
Tuolla niistä on kerrottu:
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html (http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html)
http://tldp.org/LDP/abs/html/x9644.html (http://tldp.org/LDP/abs/html/x9644.html)
Tämä saattaa valaista myös kun tallentaa tiedostoon, koeajaa ja katsoo mitä näkyy:
#!/bin/bash
sleep 300 &
sleep 200 &
echo "$!"
echo "$$"
ps -lf "$$"
jobs
kill %1
ja perään vielä:
pgrep -lf sleep