加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python中subprocess的简单使用示例

发布时间:2020-12-16 21:45:13 所属栏目:Python 来源:网络整理
导读:在c语言中,一个进程可以fork出一个子进程,并让这个子进程exec一个新的命令。在python中,我们通过标准库的subprocess包来fork一个子进程,并在子进程中运行一个新的程序。 subprocess包中有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所

在c语言中,一个进程可以fork出一个子进程,并让这个子进程exec一个新的命令。在python中,我们通过标准库的subprocess包来fork一个子进程,并在子进程中运行一个新的程序。

subprocess包中有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本通信。

使用subprocess包中的函数创建子进程的时候,需要注意:

  •     在创建子进程之后,父进程是否暂停,并等待子进程运行。
  •     函数返回什么
  •     当return code不为0时,父进程如何处理。

subprocess.call()

函数原型:

复制代码 代码如下:
subprocess.call(args,*,stdin=None,stdout=None,stderr=None,shell=False,timeout=None)


函数解释:
父进程等待子进程完成,返回执行是否成功。
复制代码 代码如下:
subprocess.Popen

函数原型:

复制代码 代码如下:
subprocess.Popen(args,bufsize=-1,executable=None,preexec_fn=None,close_fds=True,cwd=None,env=None,universal_newlines=False,startupinfo=None,creationflags=0,restore_signals=True,start_new_session=False,pass_fds=())

Popen对象创建后,主程序不会自动等待子进程完成。我们必须调用[/code]对象的wait()方法,父进程才会等待 (也就是阻塞block)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读