Mercurial > code > home > repos > racc
view collector/progs_all.py @ 10:6b6b1ea0e00d default tip
ok for no window to be focused (untested)
author | drewp@bigasterisk.com |
---|---|
date | Mon, 13 Mar 2023 19:16:58 -0700 |
parents | 5ad799e534a5 |
children |
line wrap: on
line source
import psutil from typing import Dict, List, Optional def progname(cmdline: List[str]) -> Optional[str]: if len(cmdline) < 1: return None if cmdline[-1].endswith('/steam'): return 'steam' if cmdline[0].endswith('/minecraft-launcher'): return 'minecraft-launcher' if cmdline[0].endswith('/java') and '--versionType' in cmdline: return 'minecraft' if cmdline[0].endswith('/RobloxPlayer'): return 'roblox' def get_running_progs() -> Dict[str, int]: progs = set() for proc in psutil.process_iter(['pid', 'name']): try: prog = progname(proc.cmdline()) if prog: progs.add(prog) except (psutil.AccessDenied, psutil.NoSuchProcess): pass return dict( (p, p in progs) for p in ['steam', 'minecraft-launcher', 'minecraft', 'roblox'])