【问题标题】:How to exclude from `lsof` output the libraries?如何从“lsof”输出中排除库?
【发布时间】:2013-03-21 13:15:12
【问题描述】:

我想在lsof 的帮助下在日志中打印有关已打开资源的信息,但我不希望客户看到使用了哪些库。 我浏览了 lsof 手册页,但无法掌握如何从输出中仅排除库。有没有简单的方法可以做到这一点?

【问题讨论】:

  • 在您的上下文中通过grep -v '\/lib' 管道输出是否可行?这样你就可以完全控制所写的内容。
  • 您为什么不希望客户看到这些库?您是否完全确定您的客户将无法看到它们?如果客户可以访问/proc/,他肯定可以访问这些库....
  • @BasileStarynkevitch 这是要求,我不太清楚。我的猜测是客户端无法访问机器并且日志存储在 sdcard 上。
  • 我的意思是,如果lsof - 在内部使用/proc/ - 可由客户通过您的脚本运行,他可以直接访问/proc/(只要他能够运行一些脚本或在机器上上传一些程序)。

标签: linux lsof


【解决方案1】:

您可以使用 sed、awk、cut 来解析 lsof 的输出,只显示那些在其第 4 个字段中没有 Lnn 和 ltx 的行。

【讨论】:

    【解决方案2】:

    您可以使用它的 -d 标志及其否定字符 ^

    从 lsof 的输出中排除内容

    例如,以下将阻止 txt 文件描述符被 lsof 显示。

    lsof -d '^txt'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多