子进程
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、青阳网络推广、微信平台小程序开发、青阳网络营销、青阳企业策划、青阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供青阳建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
很多时候,子进程并不是自身,而是一个外部进程。我们创建了子进程后,还需要控制子进程的输入和输出。当试图通过python做一些运维工作的时候,subprocess简直是顶梁柱。
subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出。
下面的例子演示了如何在Python代码中运行命令nslookup <某个域名>,这和命令行直接运行的效果是一样的:
#!/usr/bin/env python # coding=utf-8 import subprocess print("$ nslookup www.yangcongchufang.com") r = subprocess.call(['nslookup', 'www.yangcongchufang.com']) print("Exit code: ", r)
执行结果:
python subcall.py $ nslookup www.yangcongchufang.com Server: 219.141.136.10 Address: 219.141.136.10#53 Non-authoritative answer: Name: www.yangcongchufang.com Address: 103.245.222.133 ('Exit code: ', 0)
相关推荐:《Python视频教程》
如果子进程还需要输入,则可以通过communicate()方法输入:
#!/usr/bin/env python # coding=utf-8 import subprocess print("$ nslookup") p = subprocess.Popen(['nslookup'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, err = p.communicate(b"set q=mx\nyangcongchufang.com\nexit\n") print(output.decode("utf-8")) print("Exit code:", p.returncode)
上面的代码相当于在命令行执行命令nslookup,然后手动输入:
set q=mx yangcongchufang.com exit
相关推荐:
Python中的多进程是什么
新闻名称:创新互联Python教程:Python中的子进程是什么
标题路径:http://www.shufengxianlan.com/qtweb/news2/47602.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联