如何知道 Linux 系统上打开的文件句柄是否可写?

如何知道 Linux 系统上打开的文件句柄是否可写?

我可以通过 lsof 看到一个进程有一个特定文件的打开的文件句柄,但是有没有办法让我看到它是什么类型的文件句柄(例如:r,rw)?

答案1

来自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 以只读模式打开

答案2

没关系,我看到这是 lsof 正常输出的一部分:

FD 后面跟着以下字符之一,描述文件打开的模式:

r 表示读访问;w 表示写访问;u 表示读写访问;

相关内容