Skip to content
Advertisement

Difference between lsof -c name and lsof | grep ^name?

I’m trying to figure out whether I have a leak in file descriptors using lsof. The -c option to lsof is defined as:

  • Selects the listing of files for processes executing the command that begins with the characters of c.

If that’s true then why do these two commands report different numbers?

JavaScript

Advertisement

Answer

The default lsof will output the the main process and the threads with a TID (Thread ID) However, if you if you filter the output using a -c, only process opened files are listed, without TID. You will notice this if you look at the headers of the two outputs, ´lsof -c´ output is missing the TID column.

You can read more about TID in the man page.

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement