Added finding process name by PID and PID by process name

This commit is contained in:
BarsTiger
2022-04-09 09:57:14 +03:00
parent 4b579d08c3
commit eb8c9313ba
3 changed files with 37 additions and 11 deletions

26
daun.py
View File

@@ -24,24 +24,26 @@ parser.add_argument('--get-proc-path', help='get path to process by name or PID'
metavar='daun.exe', dest='get_proc_path')
parser.add_argument('--kill-proc', help='kill process by PID or name',
metavar='daun.exe', dest='kill_proc')
parser.add_argument('--pid', help='get pid by name or name by pid',
metavar='daun.exe')
args = parser.parse_args()
if args.add_path:
from modules import path
path.add_to_path(program_path=args.add_path)
print('Added {} to path'.format(args.add_path))
if args.add_var:
from modules import path
path.add_var(program_path=args.add_var[1], name=args.add_var[0])
print('Added {0} to environment with value {1}'.format(args.add_var[0], args.add_var[1]))
if args.screenshot:
from modules import screenshot
if args.screenshot == 'imgur':
if args.imgur_client_id:
print(screenshot.upload_to_imgur(client_id=args.imgur_client_id))
@@ -50,33 +52,41 @@ if args.screenshot:
else:
print(screenshot.save_screenshot(filename=args.screenshot))
if args.wp_control:
from modules.wallpaperengine import control_we
control_we(args.wp_control)
control_we(args.wp_control)
if args.set_wallpaper:
from modules.wallpaper import set_wallpaper
set_wallpaper(args.set_wallpaper)
set_wallpaper(args.set_wallpaper)
if args.download:
from modules.download import download
download(args.download[0], args.download[1])
download(args.download[0], args.download[1])
if args.get_proc_path:
from modules.process import get_location
try:
print(get_location(pid=int(args.get_proc_path)))
except ValueError:
print(get_location(process_name=args.get_proc_path))
if args.kill_proc:
from modules.process import kill
try:
kill(pid=int(args.kill_proc))
except ValueError:
kill(process_name=args.kill_proc)
if args.pid:
from modules.process import get_pid, get_name
try:
print(get_name(pid=int(args.pid)))
except ValueError:
print(get_pid(process_name=args.pid))

View File

@@ -9,7 +9,17 @@ def get_pid(process_name: str) -> int:
if process_name:
for proc in psutil.process_iter():
if process_name == proc.name():
return proc.pid
return proc.pid if proc.pid != psutil.Process().pid else None
def get_name(pid: int) -> str:
"""
Get the name of a process by PID
"""
try:
return psutil.Process(pid).name()
except psutil.NoSuchProcess:
return "Not found"
def get_location(process_name: str = None, pid: int = None) -> str:

View File

@@ -1,2 +1,8 @@
base - 7 776 328 b - 7.6 Mb
path - 1 089 b - 1 Kb
base - 7 987 624 b - 7.61 Mb
path - 1 153 b - 1 Kb
screenshot - 3 058 979 b - 2.9 Mb
wallpaper engine control - 305 240 b - 0.3 Mb
wallpapers - 3 001 867 b - 2.8 Mb
downloader - 3 001 738 b - 2.8 Mb
process actions - 304 984 b - 0.29 Mb
all modules - 3 366 270 b - 3.2 Mb