Назад | Перейти на главную страницу

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

С помощью lsof я могу видеть, что у процесса есть открытый дескриптор для конкретного файла, но есть ли способ узнать, какой это дескриптор (например, r, rw)?

Из lsof справочная страница

  FD is followed by one of these characters, describing the mode 
  under which the file is open:

       r for read access;
       w for write access;
       u for read and write access;
       space if mode unknown and no lock
            character follows;
       `-' if mode unknown and lock
            character follows.

Итак, в строке

liferea    3264    dennis    0r   CHR    1,3    0t0     1049 /dev/null

Вы можете видеть, что stdin открыт в режиме только для чтения

неважно, я вижу, что это часть обычного вывода lsof:

За FD следует один из этих символов, описывающих режим, в котором открыт файл:

r для чтения; w для записи; u для чтения и записи;