Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обучение VC++ / ЛекцииИнтернетС++ / Лекция_лаб_практикум.doc
Скачиваний:
64
Добавлен:
16.02.2016
Размер:
932.35 Кб
Скачать

Пример 4. Создание именованного канал с именем "fifo".

#include <fcntl.h>

main()

{

mknod("fifo",010777,0);

}

Файл имеет атрибуты p rwx rwx rwx.

Процесс 1

#include <fcntl.h>

main()

{

char string[] = "hello";

int fd;

char buf[6];

fd = open("fifo",O_WRONLY);

for (i=1;i<10;i++)

write(fd,string,6);

Процесс 2

#include <fcntl.h>

main()

{

char string[] = "hello";

int fd;

char buf[6];

fd = open("fifo",O_WRONLY);

for (i=1;i<10;i++)

{

write(fd,string,6);

printf(“%s\n”,buf);

}

}

3. Сигналы.

Аргумент sig функции signal может иметь одно из следующих значений, за исключением SIGKILL:

Сигнатура

Номер

Описани

SIGHUP

01

Освобождение линии (hangup).

SIGINT

02

Прерывание (interrupt).

SIGQUIT

03

Выход (quit).

SIGILL

04

Некорректная команда (illegal instruction). Не переустанавливается при перехвате.

SIGTRAP

05

Трассировочное прерывание (trace trap). Не переустанавливается при перехвате.

SIGIOT

06

Машинная команда IOT.

SIGABRT

06

Рекомендуемый синоним предыдущего.

SIGEMT

07

Машинная команда EMT.

SIGFPE

08

Исключительная ситуация при выполнении операции с вещественными числами (floating-point exception).

SIGKILL

09

Уничтожение процесса (kill). Не перехватывается и не игнорируется.

SIGBUS

10

Ошибка шины (bus error).

SIGSEGV

11

Некорректное обращение к сегменту памяти (segmentation violation).

SIGSYS

12

Некорректный параметр системного вызова (bad argument to system call).

SIGPIPE

13

Запись в канал, из которого некому читать (write on a pipe with no one to read it).

SIGALRM

14

Будильник (alarm clock).

SIGTERM

15

Программный сигнал завершения (software termination signal).

SIGUSR1

16

Определяемый пользователем сигнал 1 (user-defined signal 1).

SIGUSR2

17

Определяемый пользователем сигнал 2 (user-defined signal 2).

SIGCLD

18

Завершение порожденного процесса (death of a child).

SIGPWR

19

Ошибка питания (power fail).

SIGPOLL

22

Регистрация выборочного события (selectable event pending).