Search code examples
linuxshellcommandfile-descriptorlsof

What does the FD column of pipes listed by lsof mean?


I'm using the following command to get a list of pipes:

lsof | grep PIPE 

I want to know what the values of the FD column mean (the 5th one https://i.sstatic.net/zkjCn.png). I think that r and w mean read and write, respectively, but what does the number which follows each of these chars means?


I know that FD means File Descriptor, what I want to figure out is what means the values shown in the column, like the 3r, 16w, 20r, etc.


Solution

  • Files are not only opened as streams. Some of those are listed in lsof's manual:

    FD    is the File Descriptor number of the file or:
    
               cwd  current working directory;
               Lnn  library references (AIX);
               err  FD information error (see NAME column);
               jld  jail directory (FreeBSD);
               ltx  shared library text (code and data);
               Mxx  hex memory-mapped type number xx.
               m86  DOS Merge mapped file;
               mem  memory-mapped file;
               mmap memory-mapped device;
               pd   parent directory;
               rtd  root directory;
               tr   kernel trace file (OpenBSD);
               txt  program text (code and data);
               v86  VP/ix mapped file;
    
          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.
    
          The mode character is followed by one of these lock  charac-
          ters, describing the type of lock applied to the file:
    
               N for a Solaris NFS lock of unknown type;
               r for read lock on part of the file;
               R for a read lock on the entire file;
               w for a write lock on part of the file;
               W for a write lock on the entire file;
               u for a read and write lock of any length;
               U for a lock of unknown type;
               x  for an SCO OpenServer Xenix lock on part  of the
          file;
               X for an SCO OpenServer Xenix lock on  the   entire
          file;
               space if there is no lock.
    
          See  the  LOCKS  section  for  more  information on the lock
          information character.
    
          The FD column contents constitutes a single field for  pars-
          ing in post-processing scripts.