Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
2 / 2 / 1
Регистрация: 08.04.2014
Сообщений: 73

Особенности использования fork и exec

10.05.2014, 17:04. Показов 4460. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, если мы используем в программе вызов fork, а потом exec, или просто сразу exec, то наша программа (процесс) заменится на программу (процесс), который вызвал exec, и всё обратно мы в нашу первую программу вернуться не можем? Можно ли сделать так, чтобы мы вызвали с помощью exec другую программу, получили результат её работы, а потом вернулись бы в нашу первоначальную программу и продолжили работу с ней?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.05.2014, 17:04
Ответы с готовыми решениями:

Работа с процесса. Fork и exec. Не могу понять программу
Всем доброго времени суток. В общем, у меня есть программа, которая создаёт процессы с помощью fork и для созданных процессов, создаёт ещё...

Пустые строки в файле с использованием pipe, fork, exec, dup
Всем привет, для написания сабжа задумал использовать такую команду : grep -e '^$' argv | wc --lines По факту, мне нужно ручками...

fork / exec - как запустить внешнюю программу?
Здравствуйте. Я вот скомпилил программу, написанную на Си, допустим test.exe Как ее запустить из стороннего приложения средставми Си?...

4
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
10.05.2014, 18:02
Для этого и используют связку fork/exec. fork порождает дочерний процесс, в котором вызывается exec, затем родительский процесс ждет его завершения (см man waitpid).
0
2 / 2 / 1
Регистрация: 08.04.2014
Сообщений: 73
10.05.2014, 18:33  [ТС]
А можно какой-нибудь простой пример хотя бы на примере нескольких printf в двух кодах (файлах). Просто я не могу понять, как правильно вызвать fork, а потом exec. У меня при таком вызове программа после вызова exec выполняет новый процесс и завершается, а старый дальше не идёт...
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
10.05.2014, 18:58
Примеры есть в манах, в предыдущем посте я уже писал куда посмотреть.
http://linux.die.net/man/2/wait
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
11.05.2014, 08:52
0x10 уже ответил вам. неужто сложно вчитаться в man?
Немного подкорректированый код из man fork :

C
1
2
3
4
5
6
7
8
9
10
11
if ((pid = fork()) == 0)
 {
   printf( "hello from the child");
   exit(exec("ls")); /*"ребёнок" возвращает то, что вернула ему exec("ls")*/
 }  
       else
 {
   printf("hello from the parent");
   printf("ls from child retun: %i",waitpid(pid));
   /*Оаботаем дальше в теле "папы"*/
 }
P.S. В манах на эту тему есть больше чем достаточно. RTFM
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2014, 08:52
Помогаю со студенческими работами здесь

особенности использования $publicaccess="1"
Есть документ, в котором изначально есть $PublicAccess="1" (исторические причины, по которым в форме есть это поле мною сейчас выясняются...

Особенности использования const_cast
Почему не работает код: 1. const int* const pInt = new int(0); const_cast<int*>(pInt) = new int(4); 2. void...

Особенности использования функции rand() в С++
Не пойму почему Visual Studio ругается когда я создал класс и описывая его хочу использовать функцию rand() подключая при этом и stdlib.h и...

Особенности использования правила float
Заметил такую особенность. Есть картинка есть абзац с текстом, задаешь картине обтекание абзац обтекает. И есть два блока они начнут...

Особенности использования ссылочных типов
Доброе время суток всем.Подскажите по поводу ссылочных типов ,я что то не могу понять.Есть кусок кода : private function...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru