Python 什么解决方案不遗漏select()中的任何PID?

Python 什么解决方案不遗漏select()中的任何PID?,python,select,process,pid,netlink,Python,Select,Process,Pid,Netlink,假设我有这个方法来收集新的PID和它的基本信息。python脚本中只有name和exe扩展自: 在其他调用方脚本中,调用该函数并使用psutil basic info name和exe基于PID对该进程进行进一步分析是必要的,因为有些进程很快就消失了,我需要知道该PID的最少信息: import multiprocessing if PY3: from queue import Empty else: from Queue import Empty ... q = multipr

假设我有这个方法来收集新的PID和它的基本信息。python脚本中只有name和exe扩展自:

在其他调用方脚本中,调用该函数并使用psutil basic info name和exe基于PID对该进程进行进一步分析是必要的,因为有些进程很快就消失了,我需要知道该PID的最少信息:

import multiprocessing
if PY3:
    from queue import Empty
else:
    from Queue import Empty
...
q = multiprocessing.Queue()
p = multiprocessing.Process(target=startNetlink, args=(q,))
p.start()
while 1:
    if q:
        qv = q.get(block=False)
        ... cont. , use that pid, name, and exe for further real-time analysis
我试着不错过任何进程,但这似乎是不可能的,因为在我从选择[s],[]中获取可读性,然后放入队列和下一个while循环之间存在延迟间隔。如果一个过程太快而不能停止,那么这个过程很可能会错过

什么样的解决方案不错过任何PID从选择?或者我必须用其他方法来做,比如钩住

import multiprocessing
if PY3:
    from queue import Empty
else:
    from Queue import Empty
...
q = multiprocessing.Queue()
p = multiprocessing.Process(target=startNetlink, args=(q,))
p.start()
while 1:
    if q:
        qv = q.get(block=False)
        ... cont. , use that pid, name, and exe for further real-time analysis