Чтение онлайн

на главную - закладки

Жанры

Архитектура операционной системы UNIX
Шрифт:

kill

kill(pid, sig)

int pid, sig;

Функция kill посылает процессам, идентификаторы которых указаны в параметре pid, сигнал, описываемый параметром sig.

pid имеет положительное значение сигнал посылается процессу с идентификатором pid

pid = 0 сигнал посылается процессам, групповой идентификатор которых совпадает с идентификатором отправителя

pid = -1 если процесс-отправитель исполняется под идентификатором суперпользователя, сигнал посылается всем

процессам, в противном случае, сигнал посылается процессам, фактический код идентификации пользователя у которых совпадает с идентификатором суперпользователя

pid ‹ -1 сигнал посылается процессам, групповой идентификатор которых совпадает с pid

Исполнительный код идентификации пользователя процесса-отправителя должен указывать на суперпользователя, в противном случае, фактический или исполнительный коды идентификации отправителя должны совпадать с соответствующими кодами процессов-получателей.

link

link(filename1, filename2)

char *filename1,*filename2;

Функция link присваивает файлу filename1 новое имя filename2. Файл становится доступным под любым из этих имен.

lseek

lseek(fildes, offset, origin)

int fildes, origin;

long offset;

Функция lseek изменяет положение указателя чтения-записи для файла с дескриптором fildes и возвращает новое значение. Положение указателя зависит от значения параметра origin:

0 установить указатель на позицию, соответствующую указанному смещению в байтах от начала файла

1 сдвинуть указатель с его текущей позиции на указанное смещение

2 установить указатель на позицию, соответствующую указанному смещению в байтах от конца файла

мknod

mknod(filename, modes, dev)

char *filename;

int mode, dev;

Функция mknod создает специальный файл, каталог или поименованный канал (очередь по принципу "первым пришел — первым вышел") в зависимости от значения параметра modes:

010000 поименованный канал

020000 специальный файл устройства ввода-вывода символами

040000 каталог

060000 специальный файл устройства ввода-вывода блоками

12 младших разрядов параметра modes имеют тот же самый смысл, что и в функции chmod. Если файл имеет специальный тип, параметр dev содержит старший и младший номера устройства.

мount

mount(specialfile, dir, rwflag)

char *specialfile, *dir;

int rwflag;

Функция mount выполняет монтирование файловой системы, на которую указывает параметр specialfile, в каталоге dir. Если младший бит параметра rwflag установлен, файловая система монтируется только для чтения.

мsgctl

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/msg.h›

msgctl(id, cmd, buf)

int id, cmd;

struct msgid_ds *buf;

В зависимости от операции, указанной

в параметре cmd, функция msgctl дает процессам возможность устанавливать или запрашивать информацию о статусе очереди сообщений с идентификатором id, а также удалять очередь из системы. Структура msquid_ds определена следующим образом:

struct ipc_perm {

 ushort uid; /* идентификатор текущего пользователя */

 ushort gid; /* идентификатор текущей группы */

 ushort cuid; /* идентификатор пользователя-создателя */

 ushort cgid; /* идентификатор группы создателя */

 ushort mode; /* права доступа */

 short pad1; /* используется системой */

 long pad2; /* используется системой */

};

struct msquid_ds {

 struct ipc_perm msg_perm; /* структура, описывающая права доступа */

 short pad1[7]; /* используется системой */

 ushort msg_qnum; /* количество сообщений в очереди */

 ushort msg_qbytes; /* максимальный размер очереди в байтах */

 ushort msg_lspid; /* идентификатор процесса, связанного с последней посылкой сообщения */

 ushort msg_lrpid; /* идентификатор процесса, связанного с последним получением сообщения */

 time_t msg_stime; /* время последней посылки сообщения */

 time_t msg_rtime; /* время последнего получения сообщения */

 time_t msg_ctime; /* время последнего изменения */

};

Типы операций:

IPC_STAT Прочитать в буфер заголовок очереди сообщений, ассоциированный с идентификатором id

IPC_SET Установить значения переменных msg_perm.uid, msg_perm.gid, msg_perm.mode (9 младших разрядов структуры msg_perm) и mgr_qbytes в соответствии со значениями, содержащимися в буфере

IPC_RMID Удалить из системы очередь сообщений с идентификатором id

мsgget

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/msg.h›

msgget(key, flag)

key_t key;

int flag;

Функция msgget возвращает идентификатор очереди сообщений, имя которой указано в key. Параметр key может указывать на то, что возвращаемый идентификатор относится к частной очереди (IPC_PRIVATE), в этом случае создается новая очередь сообщений. С помощью параметра flag можно сделать указание о необходимости создания очереди (IPC_CREAT), а также о том, что создание очереди должно выполняться монопольно (IPC_EXCL). В последнем случае, если очередь уже существует, функция msgget дает отказ.

мsgsnd и msgrcv

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/msg.h›

msgsnd(id, msgp, size, flag)

int id, size, flag;

struct msgbuf *msgp;

msgrcv(id, msgp, size, type, flag)

int id, size, type, flag;

struct msgbuf *msgmp;

Функция msgsnd посылает сообщение указанного размера в байтах (size) из буфера msgp в очередь сообщений с идентификатором id. Структура msgbuf определена следующим образом:

Поделиться:
Популярные книги

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III

Часовое имя

Щерба Наталья Васильевна
4. Часодеи
Детские:
детская фантастика
9.56
рейтинг книги
Часовое имя

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Эволюция мага

Лисина Александра
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эволюция мага

Прорвемся, опера! Книга 3

Киров Никита
3. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 3

Демон

Парсиев Дмитрий
2. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Демон

Прорвемся, опера! Книга 2

Киров Никита
2. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 2

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Призыватель нулевого ранга. Том 3

Дубов Дмитрий
3. Эпоха Гардара
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга. Том 3

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Злыднев Мир. Дилогия

Чекрыгин Егор
Злыднев мир
Фантастика:
фэнтези
7.67
рейтинг книги
Злыднев Мир. Дилогия