Архитектура операционной системы UNIX :: Бах Морис Дж.
Страница:
702 из 715
рtraсе
ptrace(cmd, pid, addr, data)
int cmd, pid, addr, data;
Функция ptrace дает текущему процессу возможность выполнять трассировку другого процесса, имеющего идентификатор pid, в соответствии со значением параметра cmd:
0 разрешить трассировку потомку (по его указанию)
1,2 вернуть слово, расположенное по адресу addr в пространстве трассируемого процесса с идентификатором pid
3 вернуть слово, расположенное в пространстве трассируемого процесса по адресу со смещением addr
4,5 записать значение по адресу addr в пространстве трассируемого процесса
6 записать значение по адресу со смещением addr
7 заставить трассируемый процесс возобновить свое выполнение
8 заставить трассируемый процесс завершить свое выполнение
9 машинно-зависимая команда — установить в слове состояния программы битдля отладки в режиме пошагового выполнения
read
read(fildes, buf, size)
int fildes;
char *buf;
int size;
Функция read выполняет чтение из файла с дескриптором fildes в пользовательский буфер buf указанного в параметре size количества байт. Функция возвращает число фактически прочитанных байт. Если файл является специальным файлом устройства или каналом и если в вызове функции open был установлен бит O_NDELAY, функция read в случае отсутствия доступных для чтения данных возвратит управление немедленно.
semctl
#include ‹sys/types.h›
#include ‹sys/ipc.h›
#include ‹sys/sem.h›
semctl(id, num, cmd, arg)
int id, num, cmd;
union semun {
int val;
struct semid_ds *buf;
ushort *array;
} arg;
Функция semctl выполняет указанную в параметре cmd операцию над очередью семафоров с идентификатором id.
GETVAL вернуть значение того семафора, на который указывает параметр num
SETVAL установить значение семафора, на который указывает параметр num, равным значению arg.val
GETPID вернуть идентификатор процесса, выполнявшего последним функцию semop по отношению к тому семафору, на который указывает параметр num
GETNCNT вернуть число процессов, ожидающих того момента, когда значение семафора станет положительным
GETZCNT вернуть число процессов, ожидающих того момента, когда значение семафора станет нулевым
GETALL вернуть значения всех семафоров в массиве arg.array
SETALL установить значения всех семафоров в соответствие с содержимым массива arg.
|< Пред. 700 701 702 703 704 След. >|