The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"popen + pclose"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"popen + pclose"  
Сообщение от dimonna email(ok) on 15-Май-07, 16:52 
Всем привет!

Вот сталкнулся с такой проблемой:
FILE *f=popen(cmd, "r");

потом в цикле читаю данные из пайпа.
Наступает момент когда мне более не нужен запущенный процесс,
и я закрываю пайп:

pclose(f);
НО, вызов pclose держит процесс до завершения работы вызванной программы
вместо того чтобы ее терминировать. Кильнуть процесс я не могу, потому что их может быть запущенно много.

Как нужно правильно терминировать работу с пайпом и терминировать процесс на другой стороне пайпа в таком случае?

Огромное спасибо!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • popen + pclose, vic, 18:46 , 15-Май-07, (1)  

Сообщения по теме [Сортировка по времени, UBB]


1. "popen + pclose"  
Сообщение от vic (??) on 15-Май-07, 18:46 
>НО, вызов pclose держит процесс до завершения работы вызванной программы
>вместо того чтобы ее терминировать.

А где написано что должен терминировать? Смотрим man (https://www.opennet.ru/man.shtml?topic=popen&category=3&russian=0):
Функция pclose ожидает завершения ассоциированного процесса и возвращает код выхода так же, как и функция wait4.

Другими словами если есть желание не ждать завершения, то уведомляейте вызываемую программу о необходимости завершится немедленно любыми известными способами. А затем уже pclose().


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру