0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
||||||
1 | ||||||
Линейная структура дочерних процессов(в linux)09.01.2013, 23:45. Показов 1862. Ответов 18
Метки нет (Все метки)
типа вот так : процесс->процесс->процесс->процесс->процесс->процесс->процесс->процесс-> и так далее,сколько введу с клавиатуры столько и должна создавать.действием процесса по умолчанию является вывод своего id'а я вот код написал,но он у меня почему то не работает.кто может подсказать где ошибка???
0
|
09.01.2013, 23:45 | |
Ответы с готовыми решениями:
18
Мониторинг дочерних процессов Запуск дочерних процессов Создание дочерних процессов Вывод pid дочерних процессов |
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
10.01.2013, 00:32 | 2 |
Почему в case 0 вы делаете N--? Нужно же не уменьшить число итераций, а вообще выйти из цикла. Замените на i = N; и будет работать как надо. Хотя я бы ещё добавил wait'ов, дабы первый процесс завершался не раньше остальных.
0
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 01:08 [ТС] | 3 |
проблема в том,что у меня одна из моих версий этой программы работала даже на android'овском компиляторе!!!
а в kdevelope нет...и проблема программы в том,что выводов на экран то три...только все три одинаковые!!!кароче получается что как будьто бы она всего один процесс дочерний создает и некакой структурой тут и не пахнет... Добавлено через 12 минут я бы прикрепил фотку,но что то найти не могу как это сделать... Добавлено через 5 минут Введите количество процессов 3 id созданного процесса = 6824 id родительского процесса = 6822 id созданного процесса = 6824 id родительского процесса = 6822 id созданного процесса = 6824 id родительского процесса = 6822
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
10.01.2013, 01:22 | 4 | |||||
Потому что ты вызываешь В родителе. А он у тебя один и тот же.
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
10.01.2013, 01:22 | 5 |
Это сообщения от первого процесса, которому fork() трижды возвращает пид потомка. Судя по всему вы запутались в условиях, это дочерний процесс получает ноль. Что, впрочем, не отменяет моего предыдущего сообщения.
1
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 01:30 [ТС] | 6 |
то что выше создает маленько другую структуру.там у одного родителя много потомков.типа 1 отец и 6 сыновей.
а мне нужно другое-чтобы у отца был сын,у сына был сын,у сына сына был сын и так далее DD ПРОЦЕСС->ПРОЦЕСС->ПРОЦЕСС->ПРОЦЕСС->ПРОЦЕСС-> вот так. Добавлено через 1 минуту так а можно мне как нибудь сделать чтобы каждый следующий был потомком предыдущего???
0
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 01:50 [ТС] | 8 |
я ввожу число и ниче не происходит(((
почему такое может быть??? P.S:сижу под виртуалкой
0
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 02:06 [ТС] | 10 |
блин...у меня половину версий вот так же :число вводишь-и ничего не происходит...я этот код с перерывами уж месяца полтора пишу...и притом какая то версия даже на телефоне на АНДРОИДОСКОМ компиляторе работала...я гуглил,но полезного так ничего и не нашел(((
0
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 02:15 [ТС] | 12 |
ну я ж не только это пишу,других дел по учебе много...это обычная лаба по сути...но препод хрен че подскажет,и сказал отладку типа даже не пытайтесь делать,потому что программы с процессами типа отлаживать плохо потому что они чего то там только с первым процессом работают...
вот поэтому и немогу...я вот думаю блин может она просто в моем kdevelope не работает... Добавлено через 2 минуты ура,сделал!!!!!!! Добавлено через 18 секунд всем кто помогал большое спасибо!!!!
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
10.01.2013, 02:18 | 13 |
препод у вас жжот. Ткни его носом, например, сюда: http://sourceware.org/gdb/onli... Forks.html
Форки прекрасно фоловятся gdb. Ну ты чудик Запусти из консоли, че ты извращаешься в своем кдевелоп... Добавлено через 1 минуту Молодец. Напиши сюда, че там было. Глядишь, кто-нибудь с твоей проблемой заглянет - пригодится.
1
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 02:26 [ТС] | 14 |
там sleep надо добавить было.
всем еще раз огромное спасибо.
0
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 02:33 [ТС] | 16 |
а у меня без него не работает почему то!!!
но программа то как раз заработала... и с чем это может быть связано???
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
10.01.2013, 02:37 | 17 | |||||
sleep тут не при чем.
То, что ты пониятия не имеешь, почему она "вдруг" заработала, не значит, что дело в добавленном sleep. Запусти приложение, как все нормальные белые люди делают - из консоли, безо всяких слипов. Твой код сокращается до такого:
0
|
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 9
|
|
10.01.2013, 02:45 [ТС] | 18 |
спасибо,завтра попробую.я видать "ненормальный людь"
я кстати тоже из нижнего
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
10.01.2013, 02:58 | 19 |
Нормальным людям не нужен kdevelop, чтобы набросать 15 строк кода и их проверить. И, тем более, чтобы проверить. Эту программу можно написать и затестить пока твоя среда еще только запускаться и создавать проект будет. И, конечно, ужасно тяжело скомпилять проект в IDE, а запустить бинарник из консоли. Неимоверно. Не говоря о том, что пользователи твою программу и будут запускать именно из консоли, а kdevelop'а у них даже стоять не будет, они не программисты, им он на фиг не сдался. А ты тестишь ее через хрен пойми что и хрен пойми как. И потом делаешь в программе изменения, которые даже сам не понимаешь. Это вообще нонсенс - программист пишет код и не понимает, нафига и что он пишет.
Круто
0
|
10.01.2013, 02:58 | |
10.01.2013, 02:58 | |
Помогаю со студенческими работами здесь
19
Создание двух дочерних процессов Создание дочерних процессов. Пайпы Процесс порождает 7 дочерних процессов-потомков Завершение процесса и его дочерних процессов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |