|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2018, 21:11 | #1 |
Новичок
Джуниор
Регистрация: 12.12.2018
Сообщений: 1
|
Реализовать shell-конвейер
Программе в аргументах командной строки передается произвольное (возможно пустое) количество команд для выполнения. Программа должна запустить на выполнение процессы, чтобы они выполнялись в конфигурации, соответствующей команде shell:
cmd1 | cmd2 | ... | cmdN Родительский процесс должен дождаться завершения всех созданных им процессов и сам завершить выполнение. Если все системные вызовы, исполнявшиеся родителем (например, создание процесса), завершились успешно, родитель завершается с кодом 0. В случае ошибки выполнения системного вызова (например, невозможности создания очередного процесса), родитель уничтожает уже созданные к этому моменту процессы с помощью сигнала SIGKILL и сам завершается с кодом 1 после завершения сыновей. Команды cmd1, cmd2, ... запускайте на выполнение с помощью execlp. В родителе одновременно может быть открыто не более 6 файловых дескрипторов. Создаваемые процессы должны оставаться в группе процессов родителя. Программа не должна ничего выводить на стандартный поток ошибок. Например, если скомпилированная программа называется solution, то ее запуск с аргументами ./solution ls cat wc должен дать такой же результат на стандартном потоке вывода, как выполнение команды shell ls | cat | wc Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвейер микропроцессора | Базиля | Помощь студентам | 11 | 08.07.2013 23:28 |
Реализовать smtp-клиента (unix shell) | Iad | Помощь студентам | 0 | 01.05.2012 10:53 |
Конвейер рендеринга. | Warn | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 16.12.2011 09:51 |
Ленточный конвейер.... | dj-Oleg | Помощь студентам | 2 | 03.11.2011 15:57 |
Shell на C(Конвейер) | l1pton17 | Общие вопросы C/C++ | 0 | 01.11.2010 22:01 |