Unix Man (Справочное руководство)



              

OPEN(2)


OPEN(2)

НАЗВАНИЕ


open - открыть файл для чтения или записи

СИНТАКСИС

#include <fcntl.h>

int open (path, oflag [, mode]) char *path; int oflag, mode;

ОПИСАНИЕ


Аргумент path является указателем на маршрутное имя файла. Системный вызов open открывает дескриптор для указанного файла и устанавливает флаги статуса файла в соответствии со значением аргумента oflag. Для файлов, не являющихся псевдоустройствами [см. ], значение oflag задается как поразрядное ИЛИ флагов из следующего списка (из первых трех флагов можно установить только один):

O_RDONLY Открыть только на чтение. O_WRONLY Открыть только на запись. O_RDWR Открыть на чтение/запись. O_NDELAY Этот флаг может воздействовать на последующие операции чтения и записи [см. и ].

При открытии именованного канала с установленными флагами O_RDONLY или O_WRONLY:

  1. Если установлен флаг O_NDELAY, то вызов open только на чтение завершается без задержки, а вызов open только для записи отрабатывает с сообщением об ошибке, если в данный момент нет процесса, открывшего файл для чтения;
  2. Если не установлен флаг O_NDELAY, то вызов open только на чтение блокируется, пока какой-либо процесс не откроет файл для записи, а вызов open только на запись блокируется, пока какой либо процесс не откроет файл на чтение.

При открытии файла, ассоциированного с линией связи:

  1. Если установлен флаг O_NDELAY, то вызов open завершается без ожидания несущей.
  2. Если не установлен флаг O_NDELAY, то вызов open блокируется до появления несущей.

O_APPEND Перед каждой операцией записи устанавливать указатель текущей позиции на конец файла. O_SYNC При открытии обычного файла этот флаг воздействует на последующие операции записи. Если флаг установлен, то каждый вызов ожидает физического обновления как данных, так и статуса файла. O_CREAT Если файл существует, то флаг игнорируется. В противном случае идентификаторы владельца и группы создаваемого файла устанавливаются равными, соответственно, действующим идентификаторам пользователя и группы процесса, а младшие 12 бит значения режима доступа к файлу устанавливаются равными значению аргумента mode, модифицированному следующим образом [см. ]:




    Содержание  Назад  Вперед