Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 54

Popen не вызывает fork

21.05.2014, 22:19. Показов 1690. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой.В программе с помощью popen вызываю другую программу в качестве дочернего процесса.Все работает,но в терминале я вижу лишь один процесс.А если делать через fork и execl в терминале 2 процесса как и нужно.Поэтому приходится вызывать fork и потом popen.Как это можно исправить?Или так и должно быть?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2014, 22:19
Ответы с готовыми решениями:

не компилируется fork: Undefined reference to fork
написал маленькую fork-бомбу #include <stdio.h> #include <stdlib.h> int main() { while(1) { fork(); printf("HELLO...

еременная которой нигде нет(не описана) не вызывает ошибку в большом инете, а на локале вызывает ошибку
Совсем я ничего не понимаю. Переменная которой нигде нет(не описана) не вызывает ошибку в большом инете, а на локале вызывает ошибку. ЧТО...

Перехват вывода popen
Есть задача перехватывать вывод консольной программы , ffmpeg кодировщик, хочу ловить вывод и из него извлекать текущий прогресс...

6
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
21.05.2014, 22:36
Цитата Сообщение от TiraniD Посмотреть сообщение
в терминале я вижу лишь один процесс.
Что вы имеете в виду? Одному из процессов закрыт доступ к терминалу?
0
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 54
21.05.2014, 22:38  [ТС]
gng, Просто не отображается в списке процессов.В терминале прописываю "ps -A -l" и там только 1.До popen делал через fork и exec было 2.
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
21.05.2014, 22:47
Если popen возвратил не ноль, то он успешно вызвал fork и pipe.
Должно быть запущено два процесса. Может, дочерний завершил работу до того, как вы посмотрели список?
0
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 54
21.05.2014, 23:08  [ТС]
gng,Нет.Не завершил.Программа,которая запускается в дочернем ждем ввода данных.Если использую просто popen, то perror выдает "No such process ".Если fork и popen - "Success"

Добавлено через 6 минут
Разобрался.Оказывается он этот процесс переименовывает.Раньше 2 процесса с одинаковым именем были.

Добавлено через 2 минуты
А каким способом можно вытащить pid,если работать с popen?
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
21.05.2014, 23:23
Прямым способом - никак.
Косвенно, например, ps -C <команда>, опять же, через popen.
Если такие требования, то, может, лучше вручную fork и pipe вызывать.
0
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 54
22.05.2014, 02:27  [ТС]
Просто я не знаю как работать с pipe.Не получается из дочернего процесса,который запускает программу,вытащить результат выполнения.

Добавлено через 2 часа 49 минут
Разобрался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2014, 02:27
Помогаю со студенческими работами здесь

Popen и русский windows
Приветствую. Есть код: import subprocess def ExecuteCommand(command): output =...

subprocess.Popen и stdin
Подскажите, пожалуйста, как вводить данные в stdin программы, запускаемой с помощью subprocess.Popen?

Popen принцип работы непонятен
Пишу вот так pc= Popen('start cmd /K' + zapros, shell=True) потом проверяю while True: print pc.wait() ...

Кнопка вызывает кнопку которая вызывает кнопку.(инцепшн)
Вообщем препод дал задание: на форме есть всего одна единственная кнопка при нажатии на которую появляется кнопка с таким-же функционалом...

Выполнение и считывание popen команды ipfw в FreeBSD
Доброго времени суток! задачка такая: есть система FreeBSD, на ней фаервол ipfw. Нужно взять ип адрес, и проверить есть ли он в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 16.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 15.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru