Как интерпретировать & lt; defunct & gt; с ++ процесс убунту

Я использую некоторый код C ++ (8 независимых процессов, работающих на Ubuntu с 8 ядрами).

Я запускаю процессы C с использованием Python:

def runC():
numThreads = multiprocessing.cpu_count()
threads = []
for i in range(numThreads):
args = ("./cprogram", arg1,arg2,arg3)
popen = subprocess.Popen(args, stdout=subprocess.PIPE,stderr=subprocess.PIPE)
threads.append(popen)

for t in threads:
t.wait()
output = t.stdout.read()
err = t.stderr.read()
if len(output) > 0:
print "output: " + output
if len(err) > 0:
print "err: " + err

Я продолжаю получать «несуществующие» процессы. Что это значит? Почему это случилось со мной?

0

Решение

Оказывается, именно t.wait () вызывает процесс зомби. В зависимости от порядка завершения заданий, некоторые будут в состоянии зомби, пока t.wait () не дойдет до них. Это на самом деле не проблема, в этом я и хотел быть уверен.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]