在子进程中执行指令

时间:2012-10-12 21:28:24

标签: python fork

我希望在执行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

1 个答案:

答案 0 :(得分:0)

你应该使用os._exit(returncode) 或者更好,而不是os.system使用函数os.exec之一(os.execvp或os.execvpe)

要获得更多机会,只需使用子流程模块。