Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander Ryzhov                     2:5015/160.19  10 Dec 2001  20:14:20
 To : All
 Subject : убить процесс по сигналу
 -------------------------------------------------------------------------------- 
 
 
 Если по сигналу exit-ом выйти из процесса который system-ом запустил еще
 что-то, то это самое что-то останется работать.
 
 Как выйти по сигналу так чтобы запущенное по system тоже умерло ??
 Вот пример: (по cntl-C родитель получает SIGINT и посылает SIGUSR1 потомку)
 
 === Cut ===
 if ( $childpid = fork() )
 {
 
   $SIG{'INT'} = sub { kill(SIGUSR1,$childpid); };
   wait();
 
 }
 else
 {
 
   $SIG{'INT'} = 'IGNORE';
   $SIG{'USR1'} = sub { exit(1); };
 
   system("ls -R / >/dev/null");     # просто чтобы долго работало :)
 
 }
 === Cut ===
 
 после запуска этого примера и нажатия cntl-C "ls" остается работать, а надо
 чтобы ничего не осталось.
 
 Bye ..
                Alexander Ryzhov
 
 --- WP/95 Rel 1.78E (215.0) Reg.
  * Origin:  (2:5015/160.19)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 убить процесс по сигналу   Alexander Ryzhov   10 Dec 2001 20:14:20 
 Re: убить процесс по сигналу   Artem Chuprina   11 Dec 2001 12:50:45 
Архивное /ru.perl/394104367211.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional