0
스레드와 SSH를 사용하여 정확한 순간에 여러 개의 원격 작업을 실행해야합니다. 그래서 나는 다음과 같이 씁니다 :스레드, 하위 프로세스 및 좀비
def dojob(hostname):
command = "echo Done"
p = Popen(['ssh','%[email protected]%s' % (user, hostname), command], stdout=PIPE, shell=False)
output = p.communicate()[0].strip()
print output
[...]
fire_starter = [Timer(t, dojob, [y]) for t,y in zip(instant, hosts)]
for e in fire_starter:
e.start()
코드는 작동하지만 코드가 작동하지만 내 OS가 좀비로 가득 찼습니다. 솔직히, 나는 communicate() 메소드가 자식 프로세스를 처리하고 그것이 종료되기를 기다리고 있다고 믿었다. 내가 어디서 잘못한거야?