lsof -c name 和 lsof | 的区别grep ^名称?
Difference between lsof -c name and lsof | grep ^name?
我正在尝试使用 lsof 来确定文件描述符是否存在泄漏。 lsof 的 -c 选项定义为:
- 为执行以 c 字符开头的命令的进程选择文件列表。
如果这是真的那么为什么这两个命令报告不同的数字?
$ lsof -c gunicorn | wc -l
589
$ lsof | grep ^gunicorn | wc -l
29154
默认 lsof
将输出主进程和 threads 带有 TID(线程 ID)但是,如果您使用 -c
,只列出进程打开的文件,没有TID。如果您查看两个输出的 headers,您会注意到这一点,'lsof -c' 输出缺少 TID 列。
您可以在 man page 阅读更多关于 TID 的信息。
我正在尝试使用 lsof 来确定文件描述符是否存在泄漏。 lsof 的 -c 选项定义为:
- 为执行以 c 字符开头的命令的进程选择文件列表。
如果这是真的那么为什么这两个命令报告不同的数字?
$ lsof -c gunicorn | wc -l
589
$ lsof | grep ^gunicorn | wc -l
29154
默认 lsof
将输出主进程和 threads 带有 TID(线程 ID)但是,如果您使用 -c
,只列出进程打开的文件,没有TID。如果您查看两个输出的 headers,您会注意到这一点,'lsof -c' 输出缺少 TID 列。
您可以在 man page 阅读更多关于 TID 的信息。