|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
|
Генерация древа процессов используя fork26.04.2016, 23:38. Показов 1728. Ответов 15
Метки нет (Все метки)
Битый час уже пытаюсь создать древо процессов по заданному образцу (0 1 1 2 2 5 6).
То есть первый процесс не имеет родителя среди ваших процессов (порождается из вне), второй и третий порождены первым, четвертый и пятый порождены вторым, шестой порожден пятым, а седьмой порожден шестым. Ни как не получается сделать, кто понимает, что к чему, подскажите.
0
|
|
| 26.04.2016, 23:38 | |
|
Ответы с готовыми решениями:
15
Fork создание процессов Fork() и контроль порождённых процессов
|
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
|
| 27.04.2016, 07:51 [ТС] | |
|
dondublon, То есть, чтобы было создано несколько процессов и каждый их них насоздавал заданное количество дочерних процессов.
0
|
|
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
|
| 27.04.2016, 08:45 [ТС] | |
|
Чтобы один (нулевой процесс), насоздавал кучу других проблем нет, теряюсь как сделать, чтобы созданные дочерние процессы сами создавали заданное количество процессов.
0
|
|
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
|
| 27.04.2016, 09:26 [ТС] | |
|
Это понятно, просто там получатся, что дочерние процессы тоже должны создавать другие процессы и как это написать используя fork я не понимаю (используется же один и тот же код для всех процессов).
Можешь помочь кодом, чтобы можно посмотреть как это делать? Хотяб просто абстрактный пример, а не конкретно моя задача.
0
|
|
|
|
||||||
| 27.04.2016, 11:06 | ||||||
|
Команды fork, насколько я знаю, нет. Ты наверняка пользуешься subprocess, а ему можно передать параметр.
Следующий вопрос - что передать, как этот параметр должен выглядеть. Надо передать что-то такое, из чего можно вырезать кусок и передать дочернему процессу. Он тоже вырежет кусок и передаст своему дочернему и т. д. Дерево процессов надо логически инвертировать - так, чтобы мы знали не родителя, а своих деток:
0
|
||||||
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
|||
| 27.04.2016, 11:15 [ТС] | |||
|
0
|
|||
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
||||||
| 27.04.2016, 12:24 [ТС] | ||||||
|
dondublon, я плаваю в этой теме, помоги примером кода пожалуйста
Добавлено через 8 минут У самого пока только, что-то вроде этого вышло
0
|
||||||
|
|
|
| 27.04.2016, 12:41 | |
|
os.fork не принимает параметров. Поэтому придётся использовать subprocess.
Передавать словарь, видимо, придётся в виде строки. Либо в виде питоновского кода, тогда его читать функцией eval, либо в виде пикла (cPickle.dumps). Процесс считает эту строку из sys.argv. Добавлено через 44 секунды Ах да ещё одно - исполняемый файл питона получить через sys.executable.
0
|
|
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
||
| 27.04.2016, 12:47 [ТС] | ||
|
Вообще похоже Вы, вообще не понимаете, что делает fork. Зачем, что-то советовать и говорить, если не имеете преставления о чем речь идет?
0
|
||
|
|
|||
| 27.04.2016, 13:01 | |||
|
0
|
|||
|
202 / 44 / 2
Регистрация: 19.03.2012
Сообщений: 283
|
|
| 27.04.2016, 13:04 [ТС] | |
|
0
|
|
|
|
|
| 27.04.2016, 13:05 | |
|
И? Где я не прав?
0
|
|
| 27.04.2016, 13:05 | |
|
Помогаю со студенческими работами здесь
16
Очередность выполнения процессов после fork() Порождение процессов (fork) в цикле и их убийство (kill) Распараллеливание процессов Fork и регистрация завершения (atexit) Функция fork() - определить, сколько процессов будет порождено Параллельный запуск процессов с помощью fork(). Проверить код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|