|
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 13
|
||||||
Execl из форкнутого потомка26.05.2009, 12:54. Показов 3038. Ответов 8
Метки нет (Все метки)
Доброго, есть код, который должен создавать потомка процесса и из этого потомка вызывать стороннюю программу в данном случае sort, имя сортируемого файла и доп ключ принимаем из консоли, строка запска execl (SHELL, argv[0], argv[1], NULL); в потомке. Компилируется без ошибок, при выполнении программы не доходит до этой сторки execl (SHELL, argv[0], argv[1], NULL);
Tesla:# ./orderfile -b orderfile.c *******PARENT******* PARENT: PID - 12927 PARENT: PID my CHILD 12928 PARENT: i wait to exit()... PARENT: code exit CHILD:0 PARENT: Exit! *******CHILD******* CHILD: PID - 12928 CHILD: PID my PARENT - 1 Tesla:# из-за чего, в чём проблема? сам код:
спасибо за внимание.
0
|
||||||
| 26.05.2009, 12:54 | |
|
Ответы с готовыми решениями:
8
Вызов специфических для потомка функций, не зная класса потомка Вопрос по execl Execl,код возврата |
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||||||
| 26.05.2009, 14:18 | |||||||
|
Вот я поправил чайлд процесс. Уверен, ты разберешься, что к чему:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 13
|
|||||||||||
| 26.05.2009, 15:12 [ТС] | |||||||||||
|
Благодарствую знающий человек.
подправил код,
http://www.opennet.ru/docs/RUS/glibc/glibc-23.html http://www.opennet.ru/docs/RUS/ipcbook/node7.html man fork man exec теперь хотелось бы изложить ход понимания происходящего, верно ли всё осознаю 1) pid=fork() породил в памяти новый процесс который идентичен текущему "запущеной программе orderfile.c" отличается лишь PID. операционная система переключилась на вновь созданый процесс во вновь созданом "дочернем процессе" был отработан if(pid == 0) ибо как гласит man дочерний процесс в качестве аргумента дескриптора pid_t получает 0. После чего управление переместилось в процесс родитея где был получе pid поломка и отработало условие if(pid != 0). всё ли верно изложил? подправьте дополните, спасибо. Теперь хочу организовать механизм ожидания завершения работы потомка, в манах обнаружил что это можно реализовать используя функцию wait()
но при использовании даной фции компилер ругается orderfile.c:42: error: too few arguments to function ‘wait’ мало этой фции видите ли параметров, что за параметры? почему и зачем? по поводу wait нет чёткого понимания. подскажите. спасибо.
0
|
|||||||||||
|
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
|
||||||
| 26.05.2009, 16:24 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 13
|
|
| 26.05.2009, 17:00 [ТС] | |
|
а по изложеному пониманию что?
0
|
|
|
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
|
|
| 26.05.2009, 17:34 | |
|
У функции вэйт 1 параметр указатель на инт туда записывается число секунд которых стоял поток
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 13
|
|
| 26.05.2009, 21:25 [ТС] | |
|
а код возврата потомка "как он завершился" как можно получить?
0
|
|
|
|
||||||||
| 26.05.2009, 21:58 | ||||||||
|
Добавлено через 4 минуты 59 секунд
1
|
||||||||
|
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 13
|
|
| 27.05.2009, 12:22 [ТС] | |
|
Спасибо Вам
0
|
|
| 27.05.2009, 12:22 | |
|
Помогаю со студенческими работами здесь
9
execl не передает параметры
Передать параметр в дочерний процесс через execl() Передать параметр в дочерний процесс через execl() запуск нового процуса спомошью execl , передача сообшений не работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|