Làm thế nào để chờ đợi cho nhiều tiến trình con trong Python trên Windows, mà không cần chờ đợi hoạt động (bỏ phiếu)? Một cái gì đó như thế này gần công trình cho tôi:Python trên Windows - làm cách nào để đợi nhiều quy trình con?
proc1 = subprocess.Popen(['python','mytest.py'])
proc2 = subprocess.Popen(['python','mytest.py'])
proc1.wait()
print "1 finished"
proc2.wait()
print "2 finished"
Vấn đề là khi proc2
kết thúc trước khi proc1
, quá trình cha mẹ sẽ vẫn chờ proc1
. Trên Unix, người ta có thể sử dụng waitpid(0)
trong một vòng lặp để lấy mã trả về của các tiến trình con khi chúng kết thúc - làm thế nào để đạt được một cái gì đó như thế này trong Python trên Windows?
bạn có thể mô tả waitpid (0) bạn muốn sử dụng trên Unix? –
http://docs.python.org/library/os.html#os.waitpid 'waitpid (0)' trên unix waits (trừ khi 'WNOHANG' có trong tùy chọn) cho bất kỳ trạng thái con có sẵn nào và trả về' (processid , trạng thái) 'tuple. –