|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/394104367211.html, оценка из 5, голосов 10
|