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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PID дочернего процесса, Как узнать PID дочернего процесса??? 
V
    Опции темы
Vredniy
Дата 10.2.2008, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди как узнать PID дочернего процесса???

У меныа такй код

Код

#!/usr/bin/perl -w

......................
.....................
system "wget -O ........   -a ...............  .................   &";
....................
....................


Как узнать PID wget???

И еще вопрос. Команда system() запускает wget но не ждет его окончания, сарзу же выполняет остальные коммаднды, какая комманда ждет окончания прочесса.
PM MAIL   Вверх
nitr
Дата 10.2.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Цитата

system "wget...&";

вы сами его в бекграунд посылаете, как вы хотите дождаться окончания работы? smile Получается у вас *nix?

Добавлено через 1 минуту и 26 секунд
Код
#!/usr/bin/perl
use strict;
use warnings;

system 'wget vingrad.ru';


Добавлено через 1 минуту и 57 секунд
Цитата
c:\>10.pl
--20:38:10--  http://vingrad.ru/
           => `index.html'
Connecting to vingrad.ru:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

    0K -> .......... ......

20:38:16 (17.04 KB/s) - `index.html' saved [16894]


c:\>



--------------------
PM   Вверх
Vredniy
Дата 10.2.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мдаааааа
Я его автоматически загнал в бекграунд smile
Да у меня Линукс.  smile 

Но ответ на мой первый вопрос меня больше обрадывал бы  smile 


Код

#!/usr/bin/perl -w
......................
.....................
system "wget ....";
....................
....................


Как узнать PID wget???
PM MAIL   Вверх
amg
Дата 11.2.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Vredniy,  если хотите дождаться окончания работы wget, то ее PID без fork никак не получите. 
Можно отправить wget в бэкграунд опцией -b, при этом она напишет свой PID.
Код

$out = `wget -b http://vingrad.ru/`;
$pid = $1 if $out =~ /pid (\d+)/;
print "$pid\n";

PM MAIL   Вверх
Vredniy
Дата 11.2.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


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

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


 




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


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

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