如何从Python中运行的进程中获取单个进程ID整数?

2024-10-16 17:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正试图从正在运行的进程中获取一个进程id(仅此id一个),以便稍后将DLL注入其中

我最初尝试过像这样使用psutil:

def findProcessIdByName(processName):
listOfProcessObjects = []
#Iterate over the all the running process
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name', 'create_time'])
# Check if process name contains the given name string.
if processName.lower() in pinfo['name'].lower() :
listOfProcessObjects.append(pinfo)
except (psutil.NoSuchProcess, psutil.AccessDenied , psutil.ZombieProcess) :
pass
return listOfProcessObjects;

并试图找到pid,如下所示:

rvglId = findProcessIdByName('rvgl')

但我意识到它返回的不仅仅是id

有没有办法修改这个过程来获得pid

就上下文而言,整个过程的想法最终会是这样的:

injector = Injector()
pid = METHOD_HERE
path = "./mods/"
injector.load_from_pid(pid)
injector.inject_dll(path_dll)

Tags: thenameinidif进程procprocess