-6

我想知道python中的子进程是什么意思?它是类似于 Java 中的接口还是完全不同的主题?

我已经读过它是旧模块的替代品,例如os.system os.spawn* os.popen* popen2.* commands.* 但仍然无法获得相同的准确和解释性教程。

它们具体用在什么地方?

4

2 回答 2

4

创建子流程!

这是一个操作系统(OS) 概念,与 Java 接口无关。

你的操作系统控制进程,就像你的 python 程序一样。使用该subprocess模块,很容易要求操作系统创建更多这样的进程,并与它们通信。

进程在层次结构中进行控制,即父母和孩子的树状结构。当您的计算机启动时,有一个从 OS 内核启动的主进程,其他所有进程要么是该主进程的直接子进程,要么是间接子进程。

该模块提供了一个更高级别的 API 来执行此操作,而不是 C-API 函数的直接翻译os.systemos.spawn*,具有更高的灵活性和安全性来解决安全问题。

于 2013-08-19T07:18:54.530 回答
1

Python 中的子进程与任何其他语言中的子进程相同。

正如您从模块的文档中所读到的,它可以(并且应该)用于生成其他程序并控制它们的输入或输出。

例如,如果您想计算数据流的 SHA1 和,您可以派生一个调用sha1sum二进制文件的子进程,将数据提供给它的标准输入,关闭它并从标准输出中读取结果。(有更好的方法可以做到这一点;它只是作为一个例子。)

该模块os.system与其他相关功能相比更受欢迎,因为它提供了更高的安全性、灵活性和易用性。

于 2013-08-19T07:18:28.770 回答