我是python.subprocess()
的新手如果我是python的新进程,这个新进程的执行速度是否会受到影响?
想象我有
#python
import subprocess
subprocess.call( MyBinary )
基本上,
之间有什么区别./MyBinary
和
./python ruMyBinary.py
答案 0 :(得分:3)
没有。单独的过程是一个单独的过程。它“公平地”与所有其他进程竞争OS资源。
简单地执行subprocess.call
的python进程是一个进程,并且会占用一些系统资源。但相对较少,因为它将等待系统调用完成。它将占据流程表中的一个插槽,因此它确实具有微观影响。
答案 1 :(得分:2)
除了必须实际运行python解释器之外,没有。所以你的最后一个例子需要花费一些时间才能MyBinary
解析并运行python程序,并在完成终止python程序后的一些时间。 python程序将是一个现有的进程,占用一个pid和一些内存。
因此,一个长期运行程序的运行速度不会受到影响。 Hovever,如果你运行你的可执行文件数千次,任何额外的包装,更多的python或其他东西,将花费。
答案 2 :(得分:0)
不,该过程就像通过任何其他方式启动一样运行。