繁体   English   中英

遍历 Python 中的进程会导致“[Errno 3] 假设没有这样的进程”

[英]Iterating through processes in Python leads to `[Errno 3] assume no such process`

在 Python 3.8.5 中,如果我运行psutil.process_iter()然后遍历进程,我会收到错误消息。 这是一些简单的代码:

import psutil
for proc in psutil.process_iter():
    try:
        proc.name()
    except psutil.ZombieProcess:
        pass

结果是ProcessLookupError: [Errno 3] assume no such process (originated from sysctl(KERN_PROCARGS2) -> EINVAL) 我在最新的 OS X (Monterey 12.5.1) 上运行它。 我可以像对待ZombieProcess一样简单地吞下错误,但我想先了解发生了什么,然后再了解是否有更“正确”的解决方法。

我建议进一步调试一下,看看这是否是由特定过程引起的

for proc in psutil.process_iter():
try:
    proc.name()
except psutil.ZombieProcess:
    print(proc)
    pass

Proc 通常打印出status

我不确定你是否确定你有一个僵尸进程或者你是否正在检查一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM