![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
An123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 17.10.2009 Репутация: нет Всего: нет |
Необходимо реализовать функцию запуска и параллельного выполнения нескольких программ. Задаётся количество выполняемых программ и набор их имён(пути к исполняемым образам). Исходный процесс завершается сразу после их порождения.
Написать тестовую программу для проверки работоспособности разработанной функции.
Как мне здесь задать количество выполняемых программ и набор их имён? И вообще как должна выглядеть тестовая программа для проверки работоспособности разработанной функции? ![]() |
|||
|
||||
ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: нет Всего: 88 |
Нашли решебник контрольных/курсовых?
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Имена и количество можно взять например из argv, a для их запуска вместо fork курить man execv. Конкретные вопросы есть? Если нужно готовое решение, то это уже в "Центр помощи"... -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
An123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 17.10.2009 Репутация: нет Всего: нет |
то есть как я понимаю надо использовать это :
? что здесь ещё надо сделать? |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Ладно, для начала переношу в программирование.
Модератор: Тема перенесена из "*NIX системы: Общие вопросы" -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Код вроде делает что должен.
Думаю неплохо было бы использовать параметр функции fnc, ну и брать имена программ из argv ![]() И вот это тут не происходит: -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
An123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 17.10.2009 Репутация: нет Всего: нет |
Сейчас исходный процесс завершается сразу после их порождения?
А зачем здесь использовать параметр функции fnc и брать имена программ из argv здесь же есть - #define NPROC 2 /* количество процессов */ и execl("/bin/ls", "ls", NULL); |
|||
|
||||
GwinnBleidd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 2.5.2008 Где: Украина, Донецк Репутация: нет Всего: нет |
да, теперь будет завершаться сразу после порождения. а зачем у вас описан параметр функции? ![]() я так понимаю, вам нужно как-то задавть набор имен программ. В вашем же текущем коде для каждого порожденного процесса всегда выполняется ls (при чем не потому что вы делаете fnc("ls"), а потому что у вас жестко прописано execl("/bin/ls", "ls", NULL) ) |
|||
|
||||
An123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 17.10.2009 Репутация: нет Всего: нет |
как здесь сделать так, чтобы количество запускаемых программ определяется пользователем? Т.е. число запускаемых программ будет содержатся в argv[1], берем его, преобразовываем в число и крутим цикл от 0 до числа в argv[1] , ну и дальше пробуем запускать остальные параметры, как программы, по порядку (argv[2], argv[3] и т.д.) У меня никак не получается этот кусок! |
|||
|
||||
Anark1 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
An123, приведенный код не соответствует тому, что вы пишите.
В argv начиная с 1 и до n хранятся параметры к оторыми была вызвана программа, в argv[0] имя программы, argc - количество параметров.
А то что есть не работает? |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |