Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. #!/usr/bin/env python2
  2. import re
  3. import sys
  4.  
  5. # COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  6. # systemd 1 0 cwd unknown / (stat: No such file or directory)
  7. # systemd 1 0 rtd unknown / (stat: No such file or directory)
  8. # systemd 1 0 txt unknown /usr/lib/systemd/systemd (stat: Resource temporarily unavailable)
  9. # systemd 1 0 mem REG 254,1 19534244 /usr/lib/systemd/systemd (stat: Resource temporarily unavailable)
  10. # systemd 1 0 mem REG 254,1 19530388 /usr/lib64/libuuid.so.1.3.0 (stat: Resource temporarily unavailable)
  11. # systemd-j 1291 0 mem REG 254,1 1572958 /lib64/libselinux.so.1 (stat: Resource temporarily unavailable)
  12. # ms_pipe_w 1465 330 201 98 unknown socket lstat: No such file or directory) (stat: No such file or directory)
  13.  
  14. expr = re.compile("(?P<command>.{9}) (?P<pid>.{5}) (?P<tid>.{5}) (?P<user>.{8}) (?P<fd>.{4}) (?P<type>.{9}) (?P<device>.{6}) (?P<rest>.*)")
  15.  
  16. entries = []
  17. by_key = {}
  18. by_user = {}
  19.  
  20. for line in open(sys.argv[1]):
  21. line = line.strip()
  22. if (not line or
  23. line.startswith("#") or
  24. "avoiding stat" in line or
  25. line.startswith("lsof:") or
  26. "Output information" in line):
  27. continue
  28. found = expr.search(line)
  29. if not found:
  30. continue
  31. entry = found.groupdict()
  32. for key in ("pid", "tid", "user"):
  33. entry[key] = entry[key].strip()
  34. # entries.append(entry)
  35. key = (entry["user"], entry["rest"])
  36. by_key[key] = by_key.get(key, 0) + 1
  37.  
  38. by_sum = {}
  39.  
  40. for (user, rest), count in by_key.iteritems():
  41. by_sum[user] = by_sum.get(user, 0) + count
  42. by_user.setdefault(user, []).append(rest)
  43.  
  44. import pdb; pdb.set_trace()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement