0

の実行が完了したときに子プロセスを終了したいos.system(comm)

私のコードは次のとおりです。

pid = os.fork()
if pid == 0: 
         #instruction
else:
         comm = "python file.py"
         os.system(comm)
         sys.exit("error")

現在、ファイルfile.pyにループが含まれており、条件が満たされた場合にのみループから抜けることができます。ただし、条件が満たされない場合でも、プログラムはループから抜け出し、メッセージを表示しますerror

また、 の残りの命令も実行しませんfile.py

file.pyは :

while 1:
       if(condition):
           break
# rest of instructions
4

1 に答える 1

0

os._exit(returncode) を使用するか、os.system の代わりに関数 os.exec (os.execvp または os.execvpe) のいずれかを使用することをお勧めします。

より多くの機会については、 subprocess モジュールを使用してください。

于 2012-11-05T13:58:21.337 に答える