Mercurial > code > home > repos > racc
diff collector/progs_all.py @ 4:5ad799e534a5
move to subdir
author | drewp@bigasterisk.com |
---|---|
date | Mon, 13 Mar 2023 18:50:23 -0700 |
parents | progs_all.py@3d7fc94a404a |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/collector/progs_all.py Mon Mar 13 18:50:23 2023 -0700 @@ -0,0 +1,29 @@ +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'])