1 / 1 / 1
Регистрация: 22.12.2009
Сообщений: 35
|
|
1 | |
Межпроцессное взаимодействие11.04.2012, 02:36. Показов 5142. Ответов 2
Метки нет (Все метки)
Здравствуйте, подскажите пожалуйста. Работаю в Unix, на чистом Си. Задача следующая: из моей программы нужно запустить новый процесс с передачей аргумента. Далее в этом процессе идут некоторые вычисления и вернуть 1ой программе результат через stdout.
Как мне запустить новый процесс? вывод через функцию printf() запишет результат в stdout? Если нет, то как туда записать ? Как выловить данные 1ой программы из stdout? Мне хотябы чуток теории и какие функции использовать. Заранее спасибо за ответы.
0
|
11.04.2012, 02:36 | |
Ответы с готовыми решениями:
2
Межпроцессное взаимодействие Межпроцессное взаимодействие с помощью сигналов Межпроцессное взаимодействие через файлы Межпроцессное взаимодействие |
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
11.04.2012, 07:49 | 2 |
1
|
11.04.2012, 08:46 | 3 | |||||
Сообщение было отмечено Killer_Pooh как решение
Решение
Если надо только читать, или только писать данные, то проще всего воспользоваться функцией popen. Обратите внимание, что данная функция popen работает только в одном направление. При попытке открыть pipe сразу в двух режимах, функция вернет значение NULL.
Если Вы хотите и читать и писать одновременно, то Вы можете также создать новый pipe с помощью функции pipe(), создать новый процесс с помощью fork() и exec() и перенаправить его ввод/вывод с помощью dup2(). Работать должно примерно так (не проверял):
2
|
11.04.2012, 08:46 | |
11.04.2012, 08:46 | |
Помогаю со студенческими работами здесь
3
Межпроцессное взаимодействие Межпроцессное взаимодействие Межпроцессное взаимодействие Межпроцессное взаимодействие Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |