Portál AbcLinuxu, 22. července 2025 08:00


Dotaz: PID procesu

27.6.2005 11:02 Jirka
PID procesu
Přečteno: 260×
Odpovědět | Admin
Preji hezky den!

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

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.6.2005 11:07 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: PID procesu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Potřebuješ buď job control
set -m
...
kill %mplayer
nebo slave mode mplayeru
{ sleep 60; echo q; } | mplayer -slave ...
27.6.2005 12:44 Kadži | skóre: 14
Rozbalit Rozbalit vše Re: PID procesu
Odpovědět | | Sbalit | Link | Blokovat | Admin
shell nastaví pid posledního procesu spusteneho na pozadi do proměnné $!
Pavel Stárek avatar 27.6.2005 12:47 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: PID procesu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nebo nějak takhle by to možná šlo:
/usr/bin/mplayer parametr1 parametr2 &
MPLAYERPID=$!
sleep nejakou_dobu
kill -HUP $MPLAYERPID
Kdo chce, hledá způsob; kdo nechce, hledá důvod.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.