Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement