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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     24 Nov 2001  17:36:54
 To : Alexander Ryzhov
 Subject : Re: SIGINT
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Alexander Ryzhov.
 
 AR> Hаш перловый скрипт запускает из себя некий дочерный процесс.
 
 AR> Требуется чтобы этот запущенный процесс не получал сигналы SIGINT.
 AR> Желательно чтобы его SIGINT-ы получали мы, но это не обязательно.
 AR> Обязательно лишь чтобы он их сам не получал.
 
 AR> Дочерний процесс злой, он еще ставит свой обработчик на SIGINT, вносить
 AR> изменения в программу дочернего процесса нельзя.
 
 AR> Вопрос: можно ли такое сделать и если да то как ?? возможно ли такое
 AR> вообще в unix-ах ? возможно ли на перле ?
 
 Hет. С точки зрения системы твоему процессу нет никакого дела до сигнала,
 посланного другому. Если я угадал подоплеку вопроса, то можно добиться того,
 чтобы Ctrl-C, нажатый в том терминале, на котором были запущены эти процессы,
 не долетал до того в качестве SIGINT. Hо только ценой отцепления его от этого
 терминала. То есть fork(), в ребенке setsid(), и только потом запускать
 дочерний. См. perldoc -q daemon. Только вот придется позаботиться о хранении
 где-то его pid - напрямую он из оригинального процесса будет недоступен.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 SIGINT   Alexander Ryzhov   23 Nov 2001 23:24:12 
 Re: SIGINT   Kirill Solomko   24 Nov 2001 16:10:32 
 Re: SIGINT   Artem Chuprina   24 Nov 2001 17:36:54 
Архивное /ru.perl/6359de726657.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional