Mercurial > code > home > repos > racc
view progs_all.py @ 3:3d7fc94a404a
a few more inputs; daemonize
author | drewp@bigasterisk.com |
---|---|
date | Wed, 08 Mar 2023 10:57:11 -0800 |
parents | |
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'])