运行lsof -i (没有参数给-i)“选择所有因特网和x.25 (HP)网络文件的列表。我正在寻找一种可靠的方法来做相反的事情:显示除了Internet文件之外的所有东西的列表。所谓可靠,我指的是只需要运行一次lsof的方式。两个后续的运行(即正常的lsof和lsof -i以进行比较)不可靠,因为很有可能发生搅动。
提前感谢!
发布于 2012-04-24 21:37:49
不如:
lsof | awk '$5 !~ /IPv[46]/{print}'发布于 2012-04-24 19:34:54
sudo lsof _ grep -v IPv4 _ grep -v IPv6
这对你有用吗?这将只排除-i列出的内容。
发布于 2012-04-24 21:08:16
我很快就通过了这个一起,所以质量可能达不到标准。
这个Python脚本读取从"lsof“命令返回的每一行,并检查以确保"TYPE”列不具体包括"IPv4“或"IPv6”。
#!/usr/bin/env python
from sys import stdin
from re import search
def main():
lsof = stdin.read().strip()
final_files = [lsof.split('\n')[0]]
for line in lsof.split('\n')[1:]:
if not search(r'.*(IPv4|IPv6).*', line.split()[4]):
final_files.append(line)
print '\n'.join(final_files)
if __name__ == '__main__':
main()lsof | ./inverse_lsof.pyhttps://serverfault.com/questions/382716
复制相似问题