Linux 的 lsof 命令能排除 docker 容器进程打开的文件吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jiucaijiucai
V2EX    Linux

Linux 的 lsof 命令能排除 docker 容器进程打开的文件吗?

  •  
  •   jiucaijiucai 2024-06-17 11:43:59 +08:00 1580 次点击
    这是一个创建于 486 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有这个需求是因为跑的 docker 容器非常多时,整个系统中打开的文件描述符也会非常多(可以达到几十万个),用 lsof 不带任何参数执行时,是会列出所有打开的文件描述符,这个操作需要比较长时间才能完成。

    4 条回复    2024-06-17 12:32:34 +08:00
    amlee
        1
    amlee  
       2024-06-17 12:03:13 +08:00
    这种东西问 gpt 吧

    lsof | grep -v docker
    jiucaijiucai
        2
    jiucaijiucai  
    OP
       2024-06-17 12:06:08 +08:00
    @amlee 是我描述的不够清楚,我说的排出指的是 lsof 内部处理的时候就直接排除,因为我的目的是为加快 lsof 完成所需的时间,你这种外部 grep 的操作不解决我的问题。
    jiucaijiucai
        3
    jiucaijiucai  
    OP
       2024-06-17 12:07:16 +08:00
    @jiucaijiucai #2 有错别字更正一下

    是我描述的不够清楚,我说的排除指的是 lsof 内部处理的时候就直接排除,因为我的目的是为了加快 lsof 完成所需的时间,你这种外部 grep 的操作不解决我的问题。
    libook
        4
    libook  
       2024-06-17 12:32:34 +08:00
    lsof 在 linux 上是读取的/proc 下的内容再进行处理的吧,如果进程数量巨大,读取这个路径下的内容可能就需要比较长的时间?

    losf 的-p 可以使用表达式忽略特定的 PID ,比如 lsof -p ^1000 就会忽略 PID 为 1000 的进程,具体可以 man lsof 看一下。
    不过不清楚这样会不会让 lsof 直接在读取进程信息的时候就跳过这些进程,还是说只是处理完不展示。如果是前者应该能一定程度上满足你的需求。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5271 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:12 PVG 15:12 LAX 00:12 JFK 03:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86