Fórum Root.cz

Hlavní témata => Software => Téma založeno: Tomas Holy 13. 10. 2013, 13:17:37

Název: Lze nějak „pojmenovat“ proces?
Přispěvatel: Tomas Holy 13. 10. 2013, 13:17:37
ahoj, resim tu nahravani streamu z ip kamery, nejak jsem se zadrhl,
mam predstavu ze budu nahravat kazdou hodinu zvlast do souboru s presahem +- 5 minut
tzn 12:55 - 14:05 13:55 - 15:05 atd ...
nahravat bude mplayer pred -dumpstream
udelam si script, pustim cronem, ale resim ted jak ho ukoncit ...
bud abych nejak dokazal spustit ten mplayer jenom na urcitou dobu a nebo nejak 'pojmenovat' proces abych mo homl killnout aniz bych killnul ten co u bezi
napadlo me reseni mit 24 scriptu, al eto mi prijde dost neohrabane

diky TH
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: 2012 13. 10. 2013, 14:06:55
Jestli to ma byt bash scriptem, pouzil bych mktemp, ten ti zajisti jednoznacnost jmena souboru. Az ho vytroris, tak si ho proste nekoam odkopirujes a do nazvu mu pridelis aktualnu datum...
Kód: [Vybrat]
#!/bin/sh
echo;
OUT="$(mktemp)";
ls > $OUT;
cat $OUT;
echo;
echo $OUT;

Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: JardaP . 13. 10. 2013, 14:17:17
Predpokladam, ze na prikazove radce bude parametr -dumpfile. ps aux | grep mplayer mi zobrazi vsechny instance, podle nazvu souboru v dumpfile, ktery tam nekde bude, si vygrepuji to spravnou, z ni uzmu cislo procesu a zavrazdim (-15). Nasledne zkontroluji a kdyz se nepovedlo, zavrazdim znovu (-9).
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: 2012 13. 10. 2013, 14:19:28
Proces bych zjistoval takhle:
Kód: [Vybrat]
#!/bin/sh
smplayer &
PID=$(echo $!);
echo $PID;
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomaskom 13. 10. 2013, 14:24:05
Pokud by stacilo, aby se ten proces sam killnul po urcitem case:
Kód: [Vybrat]
man timeout
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomas Holy 13. 10. 2013, 16:10:56
diky moc, zatim zkusim rychle ten timeout, a zbytek musim nastudovat :)
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomaskom 13. 10. 2013, 17:13:16
PS: Tusim, ze standardne timeout posila SIGTERM, SIGKILL jde s urcitym zadanym odstupem vynutit pres -k, pokud se to mezitim neukoncilo.
Tady by melo stacit jednoduse:
Kód: [Vybrat]
timeout 70m mujskript.sh
 :)
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomas Holy 13. 10. 2013, 18:33:35
tak jsem narazil na zajimavy problem
kdyz spustim s radky toto
timeout 4 mplayer http://10.0.0.107/videostream.asf -user admin -dumpstream  -dumpfile /home/RAID5/KAMERA/18.avi
tak mi krasne nahraje sec videa
ovsem script a timto obsahem (dle me identickym)

#!/bin/bash
timeout 4 mplayer http://10.0.0.107/videostream.asf -user admin -dumpstream  -dumpfile /home/RAID5/KAMERA/18.avi

nahravani nespusti, rve to
 mplayer: could not connect to socket
 mplayer: No such file or directory

jakoby neposilal mplayeru ty parametry :(

Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomaskom 13. 10. 2013, 20:18:34
Urcite to jde nejak zazavorkovat ten prikaz, ale v tomhle sem bash nikdy poradne neovladal :P.
Nicmene oddelit to mplayer ... do samostatneho skriptu by melo pomoct.
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomas Holy 13. 10. 2013, 21:25:48
to jsem zkousel, pomoci echo > si vytvorim script, a ten zavolam a stejna chyba :(
Název: Re:leze nejak "pojmenovat" proces
Přispěvatel: Tomaskom 13. 10. 2013, 22:38:36
Necetl sem to cely, ale nekdo resil podobny problem, snad pomuze:
http://forums.opensuse.org/english/other-forums/development/programming-scripting/484357-need-help-use-timeout-utility-shell-script.html
Název: Re:Lze nějak „pojmenovat“ proces?
Přispěvatel: Tomas Holy 14. 10. 2013, 12:27:24
tomaskom: dik za odkaz, louskam to uz po treti a nejsem scopen pochytit jak to presne zavorkuje aby to slapalo
on to tam nejak uplne nakonci vysvetluje, ale me to proste nedochazi


ted jsem ve stadiu kdy prikaz spusteny v radce takto :

Kód: [Vybrat]
timeout 10s mplayer a.avi
slape a prehrava

a script s timto obsahem:
Kód: [Vybrat]
#!/bin/bash
timeout 10s mplayer a.avi

proste nejede napise
Kód: [Vybrat]
mplayer: could not connect to socket
mplayer: No such file or directory

je zajimavy ze chybova hlaska odpovida tomu, ze soubor a.avi neecistuje a ne ze spustim mplayer bez parametru

teda fakt jsem z toho jelen :(
Název: Re:Lze nějak „pojmenovat“ proces?
Přispěvatel: Tomaskom 14. 10. 2013, 13:00:06
Asi sem na to kapl, problem bude v tom, ze mplayer je zamyslen jako interaktivni program. Pokud pouziju ve skriptu
Kód: [Vybrat]
timeout --foreground 10 mplayer ./film.avi, s tim parametrem --foreground to bezi! 8)
Název: Re:Lze nějak „pojmenovat“ proces?
Přispěvatel: JardaP . 14. 10. 2013, 15:12:04
Jeste bys mohl juknout na parametr -noconsolecontrols.