zabiti procesu

Honza Pazdziora adelton na informatics.muni.cz
Úterý Květen 21 16:34:51 MEST 2002


On Tue, May 21, 2002 at 04:30:48PM +0200, Marian Cavojsky wrote:
> > 
> > predne bych rad podekoval za rady ohledne prekreslovani vystupu. Mam dalsi 
> > problem. Nasledujicim zpusobem spoustim procesy na pozadi:
> > 
> > open($child[0], "program1 |");
> > open($child[1], "program2 |");
> > ..
> > 
> > V urcitem okamziku bych potreboval vsechny pozabijet. Zkousim
> > 
> > kill(9, @child);
> > 
> > i
> > 
> > kill(9, $child[$i]); # v cyklu
> > 
> > ale ani jedno mi nefunguje - vraci se 0 (pocet zabitych procesu) a procesy 
> > dale bezi. Jak na to?
>
> Mam obavy, ze v tom poli nemate PIDs procesov, Takze ich nemate podla
> coho zabit.
> 
> cavo na cavo:~$ cat &
> [1] 5505
> 
> [1]+  Stopped                 cat
> cavo na cavo:~$ perl -e 'kill 9, 5505;'
> [1]+  Zabity                  cat

Tak. Protoze dokumentace open rika

	Open returns nonzero upon success, the undefined value
	otherwise.  If the open() involved a pipe, the return value
	happens to be the pid of the subprocess.

Cili pid procesu je vracena hodnota funkce open, nikoli ten filehandle.
Jak se da ostatne nahlednout pomoci print "@child";

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Perl