Advertisement
Mr_hEx

like pspy working for MAC OS

Jun 29th, 2023 (edited)
1,167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. import subprocess
  2. import time
  3. import os
  4.  
  5. def get_process_info():
  6.     process_list = []
  7.     ps_output = subprocess.run(['ps', 'ax', '-o', 'pid,user,command'], capture_output=True, text=True)
  8.     lines = ps_output.stdout.splitlines()[1:]
  9.  
  10.     for line in lines:
  11.         fields = line.strip().split(maxsplit=2)
  12.         pid, user, command = fields
  13.         process_list.append({
  14.             'pid': int(pid),
  15.             'user': user,
  16.             'command': command
  17.         })
  18.  
  19.     return process_list
  20.  
  21. def main():
  22.     old_processes = set()
  23.     while True:
  24.         current_processes = get_process_info()
  25.         current_pids = {proc['pid'] for proc in current_processes}
  26.         new_pids = current_pids - old_processes
  27.  
  28.         if new_pids:
  29.             for proc in current_processes:
  30.                 if proc['pid'] in new_pids and not proc['command'].startswith('ps'):
  31.                     print("New Process: PID: {} | User: {} | Command: {} ".format(proc['pid'], proc['user'], proc['command']))
  32.  
  33.         old_processes = current_pids
  34.         time.sleep(0.001)
  35.  
  36. if __name__ == "__main__":
  37.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement