python中的子进程是什么
python中的子进程是什么" alt="python中的子进程是什么" src="//www.dapan.cc/wp-content/uploads/2022/11/1668480445-16434ca758c486a.jpg">
子进程
很多时候,子进程并不是自身,而是一个外部进程。我们创建了子进程后,还需要控制子进程的输入和输出。当试图通过python做一些运维工作的时候,subprocess简直是顶梁柱。
subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出。
下面的例子演示了如何在python代码中运行命令nslookup <某个域名>,这和命令行直接运行的效果是一样的:
#!/usr/bin/envpython #coding=utf-8 importsubprocess print("$nslookupwww.yangcongchufang.com") r=subprocess.call(['nslookup','www.yangcongchufang.com']) print("Exitcode:",r)
执行结果:
➜pythonsubcall.py $nslookupwww.yangcongchufang.com Server:219.141.136.10 Address:219.141.136.10#53 Non-authoritativeanswer: Name:www.yangcongchufang.com Address:103.245.222.133 ('Exitcode:',0)
相关推荐:《python教程》
如果子进程还需要输入,则可以通过communicate()方法输入:
#!/usr/bin/envpython #coding=utf-8 importsubprocess print("$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=mx yangcongchufang.com exit
相关推荐:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。