Portál AbcLinuxu, 22. července 2025 08:00
Mam script, ktery nahrava vysilani internetoveho radia po danou dobu pomoci mplayeru. Funguje to zhruba takto:
spusti se mplayer na pozadi s parametry pro ukladani do souboru
sleep po stanovenou dobu
kilall mplayer
A tady je problem: pokud bych mel zrovna pusteny dalsi mplayer kvuli necemu jinemu, skonci taky. Takze bych rad poslal kill jen na spravny mplayer, jenze nedokazu zjistit jeho PID v ramci scriptu. V dokumntaci jsem nic nenasel, systemak mi tvrdi, ze to jde jedine kombinaci ps a grep, na to muzu pouzit taky pidof. Tim se ale nic neresi, protoze zjistim vsechny PIDy a stejne nevim, na ktery poslat kill. Pritom mam pocit, ze by to mela byt zakladni vec - prikaz, ktery spusti dany proces a vrati jeho PID. Jestli to tak opravdu je, pak me, prosim, nekamenujte.
Budu vdecny za kazdou pomoc. Zdravi
Jirka
set -m ... kill %mplayernebo slave mode mplayeru
{ sleep 60; echo q; } | mplayer -slave ...
/usr/bin/mplayer parametr1 parametr2 & MPLAYERPID=$! sleep nejakou_dobu kill -HUP $MPLAYERPID
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.