Mr_hEx icon

like pspy working for MAC OS

Mr_hEx | PRO | 09/02/23 08:16:53 PM UTC (Edited) | 0 ⭐ | 1354 👁️ | Never ⏰ | []
Python |

1.1 KB

|

None

|

0 👍

/

0 👎

import subprocess
import time
import os
 
def get_process_info():
    process_list = []
    ps_output = subprocess.run(['ps', 'ax', '-o', 'pid,user,command'], capture_output=True, text=True)
    lines = ps_output.stdout.splitlines()[1:] 
 
    for line in lines:
        fields = line.strip().split(maxsplit=2)
        pid, user, command = fields
        process_list.append({
            'pid': int(pid),
            'user': user,
            'command': command
        })
 
    return process_list
 
def main():
    old_processes = set()
    while True:
        current_processes = get_process_info()
        current_pids = {proc['pid'] for proc in current_processes}
        new_pids = current_pids - old_processes
 
        if new_pids:
            for proc in current_processes:
                if proc['pid'] in new_pids and not proc['command'].startswith('ps'):
                    print("New Process: PID: {} | User: {} | Command: {} ".format(proc['pid'], proc['user'], proc['command']))
 
        old_processes = current_pids
        time.sleep(0.001)
 
if __name__ == "__main__":
    main()

Comments