![不使用 grep 来过滤 ss 进程输出](https://linux22.com/image/742952/%E4%B8%8D%E4%BD%BF%E7%94%A8%20grep%20%E6%9D%A5%E8%BF%87%E6%BB%A4%20ss%20%E8%BF%9B%E7%A8%8B%E8%BE%93%E5%87%BA.png)
ss -p
可以提供与连接关联的进程名称、进程 ID (PID) 和文件描述符。
例子:ss -tuanp
[...]
tcp ESTAB 0 0 x.x.x.x:59594 x.x.x.x:993 users:(("thunderbird",pid=1985,fd=98))
[...]
虽然的过滤选项ss
似乎相当先进,但我还没有找到一种方法来过滤users
基于 JSON 的数据结构,以便只获取进程名称。你知道不使用 grep/awk/sed/whatever 是否可以做到这一点吗?
高级文档ss
意义不大,而且 ss 的作者 Alexey Kuznetosv 在互联网上很少出现。我问这个问题是为了避免阅读ss
源代码。
答案1
我查看了 的源代码ss
,发现ss
不支持按进程名称进行过滤。它在运行时解析/proc
树以显示进程名称。因此,没有办法避免使用 等传统工具grep
。