Re: perl & IPC
- From
- Alexander Timoshenko ()
- To
- Andrew Degtiariov ()
- Date
- 2003-06-06T14:20:02Z
- Area
- RU.UNIX.PROG
From: Alexander Timoshenko <gonzo@univ.kiev.ua>
Andrew Degtiariov <ad@astral-on.net> wrote:
> Обьясните, пожалуйста, где я жестоко лопухнулся. Почему нижеприведеный
> скрипт работает так странно (в скрипте 4 раза вызывается /bin/ls):
> ad@ad:/usr/home/ad>perl test.pl |wc -w
> 18939
> ad@ad:/usr/home/ad>ls | wc -w
> 107
> ad@ad:/usr/home/ad>
>
> 18939/107=177; Отчего такое происходит? Иногда запуск приводит к
> спонтанному ребуту станции (естественно, запуск не из под root'а)
child-ветки не должны возвращаться из write_to_separate_procces,
иначе куски основной программы выполняются по нескольку раз.
PS
А перл здесь не при чем Ж)
>
> Скрипт:
> ------- cut ------
> #!/usr/bin/perl
>
>
> use POSIX qw(:sys_wait_h);
>
> $kids_limit = 2;
> $kids = {};
>
> write_to_separate_procces(undef, "/bin/ls");
> write_to_separate_procces(undef, "/bin/ls");
> write_to_separate_procces(undef, "/bin/ls");
> write_to_separate_procces(undef, "/bin/ls");
>
> sub write_to_separate_procces($$) {
> my $data_ref = $_[0];
> my $program = $_[1];
>
.. skip ..
>
> print $string;
exit;
> }
>
> --- end cut ---
>
--
gonzo
--- ifmail v.2.15dev5
* Origin: National Taras Shevchenko University of Kyiv (2:5020/400)