Функция creat создает новый файл с указанными именем и правами доступа. Параметр mode имеет тот же смысл, что и в функции access, при этом признак sticky-bit очищен, а разряды, установленные функцией umask, сброшены. Функция возвращает дескриптор файла для последующего использования в других функциях.
duр
dup(fildes)
int fildes;
Функция dup создает копию указанного дескриптора файла, возвращая дескриптор с наименьшим номером из имеющихся в системе. Старый и новый дескрипторы используют один и тот же указатель на файл, а также и другие совпадающие атрибуты.
ехес
execve(filename, argv, envp)
char *filename;
char *argv[];
char *envp[];
Функция execve исполняет файл с именем filename, загружая его в адресное пространство текущего процесса. Параметр argv соответствует списку аргументов символьного типа, передаваемых запускаемой программе, параметр envp соответствует массиву, описывающему среду выполнения нового процесса.
ехit
exit(status)
int status;
Функция exit завершает вызывающий процесс, возвращая его родителю 8 младших разрядов из слова состояния процесса. Ядро само может вызывать эту функцию в ответ на поступление определенных сигналов.
fcntl
fcntl(fildes, cmd, arg)
int fildes, cmd, arg;
Функция fcntl обеспечивает выполнение набора разнообразных операций по отношению к открытым файлам, идентифицируемым с помощью дескриптора fildes. Параметры cmd и arg интерпретируются следующим образом (определение буквенных констант хранится в файле "/usr/include/fcntl.h"):
F_DUPFDвернуть наименьшее значение дескриптора, большее или равное значению arg
F_SETFDустановить флаг "close-on-exec" в младшем разряде arg (файл будет закрыт функцией exec)
F_GETFDвернуть состояние флага "close-on-exec"
F_SETFLустановить флаги, управляющие состоянием файла (O_NDELAY — не приостанавливаться в ожидании завершения ввода-вывода, O_APPEND — записываемые данные добавлять в конец файла)
F_GETFLполучить значения флагов, управляющих состоянием файла
struct flock
short l_type; /* F_RDLCK — блокировка чтения, F_WRLCK — блокировка записи, F_UNLCK — снятие блокировки */
short l_whence; /* адрес начала блокируемого участка дается в виде смещения относительно начала файла (0), относительно текущей позиции указателя (1), относительно конца файла (2) */
long l_start; /* смещение в байтах, интерпретируемое в соответствии со значением l_whence */
long l_len; /* длина блокируемого участка в байтах. Если указан 0, блокируется участок от l_start до конца файла */
long l_pid; /* идентификатор процесса, блокирующего файл */
long l_sysid; /* системный идентификатор процесса, блокирующего файл */
F_GETLKпрочитать первый код блокировки, мешающей использовать значение arg и затирать его. Если блокировка отсутствует, поменять значение l_type в arg на F_UNLCK
F_SETLKустановить или снять блокировку файла в зависимости от значения arg. В случае невозможности установить блокировку вернуть -1
F_SETLKWустановить или снять блокировку содержащихся в файле данных в зависимости от значения arg. В случае невозможности установить блокировку приостановить выполнение
Блокировки, связанные с чтением из файла, могут перекрывать друг друга. Блокировки, связанные с записью, перекрываться не могут.
fork
fork()
Функция fork создает новый процесс. Порождаемый процесс представляет собой логическую копию процесса-родителя. На выходе из функции процессу-родителю возвращается код идентификации потомка, потомку — нулевое значение.
getpid
getpid()
Функция getpid возвращает идентификатор вызывающего процесса. Эту же точку входа используют функции: getpgrp, возвращающая идентификатор группы, в которую входит вызывающий процесс, и getppid, возвращающая идентификатор процесса, который является родителем текущего процесса.
getuid
getuid()
Функция getuid возвращает фактический код идентификации пользователя вызывающего процесса. Эту же точку входа используют функции: geteuid, возвращающая исполнительный код идентификации пользователя, getgid, возвращающая групповой код, и getegid, возвращающая исполнительный групповой код идентификации вызывающего процесса.
ioctl
ioctl(fildes, cmd, arg)
int fildes, cmd;
Функция ioctl выполняет набор специальных операций по отношению к открытому устройству, дескриптор которого указан в параметре fildes. Тип команды, выполняемой по отношению к устройству, описывается параметром cmd, а параметр arg является аргументом команды.
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 определена следующим образом:
struct msgbuf {
long mtype;
char mtext[];
};
Если в параметре flag бит IPC_NOWAIT сброшен, функция msgsnd будет приостанавливаться в тех случаях, когда размер отдельного сообщения или число сообщений в системе превышают допустимый максимум. Если бит IPC_NOWAIT установлен, функция msgsnd в этих случаях прерывает свое выполнение. Функция msgrcv принимает сообщение из очереди с идентификатором id. Если параметр type имеет нулевое значение, из очереди будет выбрано сообщение, первое по счету; если положительное значение, из очереди выбирается первое сообщение данного типа; если отрицательное значение, из очереди выбирается сообщение, имеющее самый младший тип среди тех типов, значение которых не превышает абсолютное значение параметра type. В параметре size указывается максимальный размер сообщения, ожидаемого пользователем. Если в параметре flag установлен бит MSG_NOERROR, в том случае, когда размер получаемого сообщения превысит предел, установленный параметром size, ядро обрежет это сообщение. Если же соответствующий бит сброшен, в подобных случаях функция будет возвращать ошибку. Если в параметре flag бит IPC_NOWAIT сброшен, функция msgrcv приостановит свое выполнение до тех пор, пока сообщение, удовлетворяющее указанному в параметре type условию, не будет получено. Если соответствующий бит сброшен, функция завершит свою работу немедленно. Функция msgrcv возвращает размер полученного сообщения (в байтах).
niсе
nice(increment)
int increment;
Функция nice увеличивает значение соответствующей компоненты, участвующей в вычислении приоритета планирования текущего процесса, на величину increment. Увеличение значения nice ведет к снижению приоритета планирования.
оpen
#include ‹fcntl.h›
open(filename, flag, mode)
char *filename;
int flag, mode;
Функция open выполняет открытие указанного файла в соответствии со значением параметра flag. Значение параметра flag представляет собой комбинацию из следующих разрядов (причем из первых трех разрядов может быть использован только один):
O_RDONLYоткрыть только для чтения
O_WRONLYоткрыть только для записи
O_RDWRоткрыть для чтения и записи
O_NDELAYесли файл является специальным файлом устройства, функция возвращает управление, не дожидаясь ответного сигнала; если файл является поименованным каналом, функция в случае неудачи возвращает управление немедленно (с индикацией ошибки, когда бит O_WRONLY установлен), не дожидаясь открытия файла другим процессом
O_APPENDдобавляемые данные записывать в конец файла
O_CREATесли файл не существует, создать его; режим создания (mode) имеет тот же смысл, что и в функции creat; если файл уже существует, данный флаг игнорируется
O_TRUNCукоротить длину файла до 0
O_EXCLесли этот бит и бит O_CREAT установлены и файл существует, функция не будет выполняться; это так называемое "монопольное открытие"
Функция open возвращает дескриптор файла для последующего использования в других системных функциях.
рausе
pause()
Функция pause приостанавливает выполнение текущего процесса до получения сигнала.
рipе
pipe(fildes)
int fildes[2];
Функция pipe возвращает дескрипторы чтения и записи (соответственно, в fildes[0] и fildes[1]) для данного канала. Данные передаются через канал в порядке поступления; одни и те же данные не могут быть прочитаны дважды.
рlock
#include ‹sys/lock.h›
plock(op)
int op;
Функция plock устанавливает и снимает блокировку областей процесса в памяти в зависимости от значения параметра op:
PROCLOCKзаблокировать в памяти области команд и данных
TXTLOCKзаблокировать в памяти область команд
DATLOCKзаблокировать в памяти область данных
UNLOCKснять блокировку всех областей
рrofil
profil(buf, size, offset, scale)
char *buf;
int size, offset, scale;
Функция profil запрашивает у ядра профиль выполнения процесса. Параметр buf определяет массив, накапливающий число копий процесса, выполняющихся в разных адресах. Параметр size определяет размер массива buf, offset — начальный адрес участка профилирования, scale — коэффициент масштабирования.
р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.array
IPC_STATсчитать структуру заголовка семафора с идентификатором id в буфер arg.buf
IPC_SETустановить значения переменных sem_perm.uid, sem_perm.gid и sem_perm.mode (младшие 9 разрядов структуры sem_perm) в соответствии с содержимым буфера arg.buf
IPC_RMIDудалить семафоры, связанные с идентификатором id, из системы
Параметр num возвращает на количество семафоров в обрабатываемом наборе. Структура semid_ds определена следующим образом:
struct semid_ds {
struct ipc_perm sem_perm; /* структура, описывающая права доступа */
int * pad; /* используется системой */
ushort sem_nsems; /* количество семафоров в наборе */
time_t sem_otime; /* время выполнения последней операции над семафором */
time_t sem_ctime; /* время последнего изменения */
};
Структура ipc_perm имеет тот же вид, что и в функции msgctl.
semget
#include ‹sys/types.h›
#include ‹sys/ipc.h›
#include ‹sys/sem.h›
semget(key, nsems, flag)
key_t key;
int nsems, flag;
Функция semget создает массив семафоров, корреспондирующий с параметром key. Параметры key и flag имеют тот же смысл, что и в функции msgget.
semор
semop(id, ops, num)
int id, num;
struct sembuf **ops;
Функция semop выполняет набор операций, содержащихся в структуре ops, над массивом семафоров, связанных с идентификатором id. Параметр num содержит количество записей, составляющих структуру ops. Структура sembuf определена следующим образом:
struct sembuf {
short sem_num; /* номер семафора */
short sem_op; /* тип операции над семафором */
short sem_flg; /* флаг */
};
Переменная sem_num содержит указатель в массиве семафоров, ассоциированный с данной операцией, а переменная sem_flg — флаги для данной операции. Переменная sem_op может принимать следующие значения:
отрицательноеесли сумма значения семафора и значения sem_op ›= 0, значение семафора изменяется на величину sem_op; в противном случае, функция приостанавливает свое выполнение, если это разрешено флагом
положительноеувеличить значение семафора на величину sem_op
нулевоеесли значение семафора равно 0, продолжить выполнение; в противном случае, приостановить выполнение, если это разрешается флагом
Если для данной операции в переменной sem_flg установлен флаг IPC_NOWAIT, функция semop возвращает управление немедленно в тех случаях, когда она должна была бы приостановиться. Если установлен флаг SEM_UNDO, восстанавливается предыдущее значение семафора (sem_op вычитается из текущей суммы типов операций). Когда процесс завершится, значение семафора будет увеличено на эту сумму. Функция semop возвращает значение последней операции над семафором.
setpgrр
setpgrp()
Функция setpgrp приравнивает значение идентификатора группы, к которой принадлежит текущий процесс, значению идентификатора самого процесса и возвращает новое значение идентификатора группы.
setuid
setuid(uid)
int uid;
setgid(gid)
int gid;
Функция setuid устанавливает значения фактического и исполнительного кодов идентификации пользователя текущего процесса. Если вызывающий процесс исполняется под управлением суперпользователя, функция сбрасывает значения указанных кодов. В противном случае, если фактический код идентификации пользователя имеет значение, равное значению uid, функция setuid делает равным этому значению и исполнительный код идентификации пользователя. То же самое происходит, если значению uid равен код, сохраненный после выполнения setuid-программы, запускаемой с помощью функции exec. Функция setgid имеет тот же смысл по отношению к аналогичным групповым кодам.
shmctl
#include ‹sys/types.h›
#include ‹sys/ipc.h›
#include ‹sys/shm.h›
shmctl(id, cmd, buf)
int id, cmd;
struct shmid_ds *buf;
Функция shmctl выполняет различные операции над областью разделяемой памяти, ассоциированной с идентификатором id. Структура shmid_ds определена следующим образом:
struct shmid_ds {
struct ipc_perm shm_perm; /* структура, описывающая права доступа */
int shm_segsz; /* размер сегмента */
int * pad1; /* используется системой */
ushort shm_lpid; /* идентификатор процесса, связанного с последней операцией над областью */
ushort shm_cpid; /* идентификатор процесса-создателя */
ushort shm_nattch; /* количество присоединений к процессам */
short pad2; /* используется системой */
time_t shm_atime; /* время последнего присоединения */
time_t shm_dtime; /* время последнего отсоединения */
time_t shm_ctime; /* время последнего внесения изменений */
};
Операции:
IPC_STATпрочитать в буфер buf содержимое заголовка области, ассоциированной с идентификатором id
IPC_SETустановить значения переменных shm_perm.uid, shm_perm.gid и shm_perm.mode (9 младших разрядов структуры) в заголовке области в соответствии с содержимым буфера buf
IPC_RMIDудалить из системы область разделяемой памяти, ассоциированной с идентификатором id
shmget
#include ‹sys/types.h›
#include ‹sys/ipc.h›
#include ‹sys/shm.h›
shmget(key, size, flag)
key_t key;
int size, flag;
Функция shmget обращается к области разделяемой памяти или создает ее. Параметр size задает размер области в байтах. Параметры key и flag имеют тот же смысл, что и в функции msgget.
shmор
#include ‹sys/types.h›
#include ‹sys/ipc.h›
#include ‹sys/shm.h›
shmat(id, addr, flag)
int id, flag;
char *addr;
shmdt(addr)
char *addr;
Функция shmat присоединяет область разделяемой памяти, ассоциированную с идентификатором id, к адресному пространству процесса. Если параметр addr имеет нулевое значение, ядро само выбирает для присоединения области подходящий адрес. В противном случае оно пытается присоединить область, используя в качестве значение параметра addr в качестве адреса. Если в параметре flag установлен бит SHM_RND, ядро в случае необходимости округляет адрес. Функция shmat возвращает адрес, по которому область присоединяется фактически. Функция shmdt отсоединяет область разделяемой памяти, присоединенную ранее по адресу addr.
signal
#include ‹signal.h›
signal(sig, function)
int sig;
void (*func)();
Функция signal дает текущему процессу возможность управлять обработкой сигналов. Параметр sig может принимать следующие значения:
SIGHUP"зависание"
SIGINTпрерывание
SIGQUITпрекращение работы
SIGILLзапрещенная команда
SIGTRAPвнутреннее прерывание, связанное с трассировкой
SIGIOTинструкция IOT
SIGEMTинструкция EMT
SIGFPEособая ситуация при работе с числами с плавающей запятой
SIGKILLудаление из системы
SIGBUSошибка в шине
SIGSEGVнарушение сегментации
SIGSYSнедопустимый аргумент в вызове системной функции
SIGPIPEзапись в канал при отсутствии считывающих процессов
SIGALRMсигнал тревоги
SIGTERMзавершение программы
SIGUSR1сигнал, определяемый пользователем
SIGUSR2второй сигнал, определяемый пользователем
SIGCLDгибель потомка
SIGPWRотказ питания
Параметр function интерпретируется следующим образом:
SIG_DFLдействие по умолчанию. Означает завершение процесса в случае поступления любых сигналов, за исключением SIGPWR и SIGCLD. Если сигнал имеет тип SIGQUIT, SIGILL, SIGTRAP, SIGIOT, SIGEMT, SIGFPE, SIGBUS, SIGSEGV или SIGSYS, создается файл "core", содержащий дамп образа процесса в памяти
SIG_IGNигнорировать поступление сигнала функция адрес процедуры в пространстве процесса. По возвращении в режим задачи производится обращение к указанной функции с передачей ей номера сигнала в качестве аргумента. Если сигнал имеет тип, отличный от SIGILL, SIGTRAP и SIGPWR, ядро автоматически переустанавливает имя программы обработки сигнала в SIG_DFL. Сигналы типа SIGKILL процессом не обрабатываются
stat
stat(filename, statbuf)
char *filename;
struct stat *statbuf;
fstat(fd, statbuf)
int fd;
struct stat *statbuf;
Функция stat возвращает информацию о статусе (состоянии) указанного файла. Функция fstat выполняет то же самое в отношении открытого файла, имеющего дескриптор fd. Структура statbuf определена следующим образом:
struct stat {
dev_t st_dev; /* номер устройства, на котором находится файл */
ino_t st_ino; /* номер индекса */
ushort st_mode; /* тип файла (см. mknod) и права доступа к нему (см. chmod) */
short st_nlink; /* число связей, указывающих на файл */
ushort st_uid; /* код идентификации владельца файла */
ushort st_gid; /* код идентификации группы */
dev_t st_rdev; /* старший и младший номера устройства */
off_t st_size; /* размер в байтах */
time_t st_atime; /* время последнего обращения */
time_t st_mtime; /* время последнего внесения изменений */
time_t st_ctime; /* время последнего изменения статуса */
};
stimе
stime(tptr)
long *tptr;
Функция stime устанавливает системное время и дату в соответствие со значением, указанным в параметре tptr. Время указывается в секундах от 00:00:00 1 января 1970 года по Гринвичу.
synс
sync()
Функция sync выгружает содержащуюся в системных буферах информацию (относящуюся к файловой системе) на диск.
timе
time(tloc)
long *tloc;
Функция time возвращает системное время в секундах от 00:00:00 1 января 1970 года по Гринвичу.
times
#include ‹sys/types.h›
#include ‹sys/times.h›
times(tbuf)
struct tms *tbuf;
Функция times возвращает время в таймерных тиках, реально прошедшее с любого произвольного момента в прошлом, и заполняет буфер tbuf следующей учетной информацией:
struct tms {
time_t tms_utime; /* продолжительность использования ЦП в режиме задачи */
time_t tms_stime; /* продолжительность использования ЦП в режиме ядра */
time_t tms_cutime; /* сумма значений tms_utime и tms_cutime у потомков */
time_t tms_sutime; /* сумма значений tms_stime и tms_sutime у потомков */
};
ulimit
ulimit(cmd, limit)
int cmd;
long limit;
Функция ulimit дает процессу возможность устанавливать различные ограничения в зависимости от значения параметра cmd:
1 вернуть максимальный размер файла (в блоках по 512 байт), в который процесс может вести запись
2 установить ограничение сверху на размер файла равным значению параметра limit
3 вернуть значение верхней точки прерывания (максимальный доступный адрес в области данных)
uмask
umask(mask)
int mask;
Функция umask устанавливает значение маски, описывающей режим создания файла (mask), и возвращает старое значение. При создании файла биты разрешения доступа, которым соответствуют установленные разряды в mask, будут сброшены.
uмount
umount(specialfile)
char *specialfile
Функция umount выполняет демонтирование файловой системы, расположенной на устройстве ввода-вывода блоками specialfile.
unamе
#include ‹sys/utsname.h›
uname(name)
struct utsname *name;
Функция uname возвращает информацию, идентифицирующую систему в соответствии со следующей структурой:
struct utsname {