Python中的子进程是啥? [关闭]
Posted
技术标签:
【中文标题】Python中的子进程是啥? [关闭]【英文标题】:What are subprocesses in Python? [closed]Python中的子进程是什么? [关闭] 【发布时间】:2013-08-20 22:11:57 【问题描述】:我想知道 python 中的子进程是什么意思?它是类似于 Java 中的接口还是完全不同的主题?
我读到它是旧模块的替代品,例如os.system
os.spawn*
os.popen*
popen2.*
commands.*
但仍然无法获得相同的确切和解释性教程。
它们具体用在什么地方?
【问题讨论】:
但是,它肯定是一个疑点清除网站。 @user1162512 不,不是。 【参考方案1】:Python 中的子流程与任何其他语言中的子流程相同。
正如您从the module's documentation 中看到的那样,它可以(并且应该)用于生成其他程序并控制它们的输入或输出。
例如,如果您想计算数据流的 SHA1 和,您可以派生一个调用 sha1sum
二进制文件的子进程,将数据提供给它的标准输入,关闭它并从标准输出中读取结果。 (有更好的方法可以做到这一点;它只是作为示例。)
这个模块比os.system
和其他相关功能更受欢迎,因为它提供了更高的安全性、灵活性和易用性。
【讨论】:
嗯,这只是文档本身的复制和粘贴材料。我之前也读过这个,但无法理解,这就是为什么将它发布在 SO 上。并且您提供的是相同的复制粘贴材料 @user1162512 也许然后解释一下你不明白什么?文档很清楚。 @user1162512 我没有复制和粘贴,我确实解释了他们在那里写的内容。如果这还不够清楚,请告诉我们您到底不明白什么。【参考方案2】:创建子流程!
这是一个操作系统(OS)概念,与Java接口无关。
您的操作系统控制进程,就像您的 python 程序一样。使用subprocess
模块,很容易要求操作系统创建更多这样的进程,并与它们通信。
进程在层次结构中进行控制,即父母和孩子的树状结构。 一个主进程在您的计算机启动时随操作系统内核启动,其他所有进程要么是该主进程的直接子进程,要么是间接子进程。
与 C-API 函数os.system
、os.spawn*
等的低级直接翻译相比,该模块提供了更高级别的 API 来执行此操作,具有更高的灵活性和安全性来解决安全问题。
【讨论】:
以上是关于Python中的子进程是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章