位置:- 正文

Python中的子进程是什么(python 子进程通信)

编辑:rootadmin

推荐整理分享Python中的子进程是什么(python 子进程通信),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python子进程的输出不可见,python子进程返回值,python 主进程 子进程,python主进程与子进程共享数据,python子进程没有连接怎么办,python 主进程 子进程,python 子进程,python子进程能再开进程吗,内容如对您有帮助,希望把文章链接给更多的朋友!

子进程

很多时候,子进程并不是自身,而是一个外部进程。我们创建了子进程后,还需要控制子进程的输入和输出。当试图通过python做一些运维工作的时候,subprocess简直是顶梁柱。

Python中的子进程是什么(python 子进程通信)

subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出。

下面的例子演示了如何在Python代码中运行命令nslookup <某个域名>,这和命令行直接运行的效果是一样的:

#!/usr/bin/envpython#coding=utf-8importsubprocessprint("$nslookupwww.yangcongchufang.com")r=subprocess.call(['nslookup','www.yangcongchufang.com'])print("Exitcode:",r)

执行结果:

➜pythonsubcall.py$nslookupwww.yangcongchufang.comServer:219.141.136.10Address:219.141.136.10#53Non-authoritativeanswer:Name:www.yangcongchufang.comAddress:103.245.222.133('Exitcode:',0)

相关推荐:《Python视频教程》

如果子进程还需要输入,则可以通过communicate()方法输入:

#!/usr/bin/envpython#coding=utf-8importsubprocessprint("$nslookup")p=subprocess.Popen(['nslookup'],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)output,err=p.communicate(b"setq=mx\nyangcongchufang.com\nexit\n")print(output.decode("utf-8"))print("Exitcode:",p.returncode)

上面的代码相当于在命令行执行命令nslookup,然后手动输入:

setq=mxyangcongchufang.comexit

相关推荐:

本文链接地址:https://www.jiuchutong.com/zhishi/310305.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/310306.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络