Python中subprocess的简单使用示例


Posted in Python onJuly 28, 2015

在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, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=True, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, restore_signals=True, start_new_session=False, pass_fds=())

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

Python 相关文章推荐
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
在pycharm上mongodb配置及可视化设置方法
Nov 30 Python
基于Python实现用户管理系统
Feb 26 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
python 中xpath爬虫实例详解
Aug 26 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
python能否java成为主流语言吗
Jun 22 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
python中reload重载实例用法
Dec 15 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
Jan 24 Python
python 标准库原理与用法详解之os.path篇
Oct 24 Python
Python中文竖排显示的方法
Jul 28 #Python
Python中的getopt函数使用详解
Jul 28 #Python
Python3访问并下载网页内容的方法
Jul 28 #Python
python3抓取中文网页的方法
Jul 28 #Python
python列表操作之extend和append的区别实例分析
Jul 28 #Python
python创建列表并给列表赋初始值的方法
Jul 28 #Python
python更新列表的方法
Jul 28 #Python
You might like
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
获取url中用&隔开的参数实例(分享)
2017/05/28 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
机器学习python实战之手写数字识别
2017/11/01 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
基于pandas中expand的作用详解
2019/12/17 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
Python Map 函数的使用
2020/08/28 Python
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
介绍一下grep命令的使用
2012/06/28 面试题
学习十八大演讲稿
2014/09/15 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
就业意向书范本
2015/05/11 职场文书
体育部部长竞选稿
2015/11/21 职场文书