subprocess.Popen:
subprocess.Popen类用于在一个新进程中执行一个子程序。
本人在某个项目中,利用这个函数运行一些深度学习算法,但是在运行一些比较大的模型时会出现电脑卡死的情况,崩溃了好几次,发现是内存被占满了,当时没有想到是因为这个函数,后来在看 subprocess.Popen的文档时发现,利用subprocess.Popen运行的函数,读到的数据会被写在内存中,而且是没有限制的,会直接倒是系统崩溃。
但是如果使用os.system就会阻塞这个接口,我需要等到这个函数运行完毕才能返回消息,而我的需求是调用接口即返回函数是否运行成功。
我的解决方法是,新建一个py文件,用subprocess.Popen运行这个py文件,而在这个py文件中写入os.system(“运行的指令”),这样就可以做到反馈是否运行成功,且数据不会写入内存了