Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> fork, дети до конца не умирают 
:(
    Опции темы
Cook
Дата 23.11.2006, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.12.2003

Репутация: нет
Всего: нет



вот простой пример

test1.pl
Код

#!/usr/bin/perl

use strict;

my $processes = 0;

$SIG{CHLD} = \&_handle_sigchld;

while (1) {
    my $pid = fork();
    die "can't fork anymore" unless defined $pid;
    
    if ( $pid == 0 ) {
        print "child test";
        sleep(2);
        exit(0);
    } else {
        while ( $processes >=40 ) {
            sleep(1);
        }
    }
}

exit(0);


sub _handle_sigchld
{
    $processes--;
}


родитель постоянно подерживает 40 запущенных детей, те делают екзит посылают сигнал CHLD, но после екзита до конца не умирают, в процессах остается , как видно из ps запущен сам перл, 0 памяти и в состоянии RE+, все умирает когда завершается родитель
раньше вроде такой пакости не замечал

что за ерундень такая ?

PM MAIL   Вверх
Cook
Дата 23.11.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.12.2003

Репутация: нет
Всего: нет



вспомнил, разобрался, а также ошибка в примере
PM MAIL   Вверх
DooZ
Дата 25.1.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 25.11.2005

Репутация: нет
Всего: 1



написал бы хоть в чем ошибка и что исправил
думаю будет полезно другим в том числе и мне =)
PM MAIL   Вверх
StealtH
Дата 3.9.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.9.2004

Репутация: нет
Всего: нет



Цитата(DooZ @ 25.1.2007,  16:41)
написал бы хоть в чем ошибка и что исправил
думаю будет полезно другим в том числе и мне =)

+1

 людей еще до сих пор существуют подобные привычки  smile 
PM MAIL   Вверх
Bulat
Дата 5.9.2007, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57





--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
fray
Дата 5.9.2007, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 7.6.2007

Репутация: 0
Всего: 0



Цитата(Bulat @ 5.9.2007,  08:27)
Господа, совсем недавно мучился с тем же

Про fork, обмен данными в одну сторону, и киляние зомби - мой взгляд

А счего у тебя зомби образуются я просто делаю waitpid $_,0 for @pids; и никаких зомби, что там у тебя дедлок возникает ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1143 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.