рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Ls -l /home/student | sort

Ls -l /home/student | sort - раздел Компьютеры, Межпроцессное взаимодействие в ОС Linux Где "|" - Символ Операции Канала В Оболочке.   ...

где "|" - символ операции канала в оболочке.

 

 

Задание 1.

1.1. Создайте отдельный подкаталог для лабораторной работы. Наберите приведенный ниже текст программы pipework.c (текст программы имеется в папке Methodic/…) и создайте для нее исполняемый файл. (На рис. 2 приведена структура программы.)

 

/* pipework.c A program to experiment with an unnamed pipe */

#include <stdio.h>

#include <unistd.h>

 

main ()

{

int fd[2]; /* Array of two descriptors for an unnamed pipe */

int pid; /* Variable for a process identifier */

 

/* A pipe should be created before any fork() */

/* Do you understand why? */

 

if (pipe(fd) < 0)

{perror ("PIPE CREATION ERROR");

exit (1);

}

 

pid = fork (); /* Parent: creating the first child process */

if (pid == 0) /* The first child process starts here */

{

dup2 (fd[0],0); /*Standard input will be taken from the downstream of the pipe*/

close (fd[1]); /*Upstream end of the pipe is closed for this process(not used)*/

execlp ("sort", "sort", 0); /* Running “sort”command taking input from the pipe */

}

 

else /* Here the parent process continues */

pid = fork (); /* Parent: creating the second child process */

if (pid == 0) /* The second child process starts here */

{dup2 (fd[1],1); /* Standard output will be put to the upstream end of the pipe */

close (fd[0]); /* Downstream end is closed for this process (not used) */

execlp ("ls", "ls", "-l", "/home/student", 0);

/*Running the command “who” which outputs to the pipe*/

}

else /* Parent process closes for itself both ends of the pipe

and waits for children to terminate */

{

close (fd[0]);

close (fd[1]);

wait (0);

wait (0);

}

}

 

Примечание. После вызова библиотечной функции dup2(fd1, fd2) файловый дескриптор fd2будет ссылаться на тот же файл, что и дескриптор fd1. Если fd2 ссылается на уже открытый файл, то этот файл сначала будет закрыт. (См. man dup2.) Таким образом, dup2(fd1, 0)позволяет перенаправить стандартный ввод в файл fd1.

1.2. Запустите эту программу и сравните результаты с результатами следующих команд оболочки:

ls -l /home/student и

– Конец работы –

Эта тема принадлежит разделу:

Межпроцессное взаимодействие в ОС Linux

На сайте allrefs.net читайте: "Межпроцессное взаимодействие в ОС Linux"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Ls -l /home/student | sort

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Межпроцессное взаимодействие в ОС Linux
Цель работы: научиться использовать каналы и именованные каналы для межпроцессного взаимодействия в ОС Linux.   I. Каналы (unnamed pipes)

Ls -l /home/student | sort
1.3. Замените в исходном тексте программы оператор (дайте этой программе имя pipework1.c) execlp ("ls", "ls", "-l",

Cat > fifo1
Затем набирайте произвольные строки, завершите ввод символом конца файла CTRL-d. Что будет выведено в первом окне? В программе именованный канал создается при помощ

Вопросы к части I
1. Для чего предназначены неименованные каналы? 2. Объясните параметры системного вызова pipe(). 3. Что такое входной и выходной конец канала? 4. Как в п

Вопросы к части II
1. В чем отличие именованных каналов от неименованных? 2. Как создать в программе именованный канал? 3. Каково действие режима O_NONBLOCK, указываемого при открыт

Источники информации
1. Стивенс У. UNIX: взаимодействие процессов. - СПб: Питер, 2003. (Глава 4). 2. Митчел М., Оулдем Дж., Самьюэл А. Программирование для Linux. Профессиональный подход. - М.: Издательский до

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги