00040чтение групповым пользователем
00020запись групповым пользователем
00010исполнение групповым пользователем
00004чтение прочим пользователем
00002апись прочим пользователем
00001исполнение прочим пользователем
сhown
chown(filename, owner, group)
char *filename;
int owner,group;
Функция chown меняет коды идентификации владельца и группы для указанного файла на коды, указанные в параметрах owner и group.
сhroot
chroot(filename)
char *filename;
Функция chroot изменяет частный корень вызывающего процесса в соответствии со значением параметра filename.
сlosе
close(fildes)
int fildes;
Функция close закрывает дескриптор файла, полученный в результате выполнения функций open, creat, dup, pipe или fcntl, или унаследованный от функции fork.
сreat
creat(filename, mode)
char *filename;
int mode;
Функция 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, возвращающая идентификатор процесса, который является родителем текущего процесса.
Читать дальше