0

このpythonバグの呼び出しの回避策を考え出そうとしていsubprocessます. os.systemと組み合わせて使用​​するのが方法だと思いましたos.waitpid。これをテストするために、以下のコードを書きました。とたくさんのテキストをファイルにsystem_call_test.py書き込みます。しかし、呼び出すと常にこのエラーが発生します: . そのため、この構成が適切に機能しているかどうかを確認するのに苦労しています。スクリプトが他のスクリプトの終了を確実に待機するようにするにはどうすればよいですか。私はWindows XP / python 2.7を使用しています。 pidfos.waitpid()OSError: [Errno 10] No child processes

import os
f = r'D:\temp\called.txt'

s = os.system('C:\Python27\python.exe D:\python_spullen\system_call_test.py')
with open(f, 'r') as f_in:
    i = f_in.readline()[-4:]
    print i
    rr = os.waitpid(int(i),0)
    print rr
4

2 に答える 2

1

system()fork()++の組み合わせですexec()waitpid()二度と電話しないでくださいwaitpid()

于 2012-10-29T09:46:02.430 に答える
1

os.systemプロセスの終了コードを返します。したがって、s上記はすでに入力されており、プロセスは終了しています。os.waitpid待つことは何もありません。

于 2012-10-29T09:44:50.573 に答える