Python中的子进程是什么
发布时间:2025-11-03 16:22:42

子进程
很多时候,子过程不是自己的,而是外部过程。创建子过程后,我们还需要控制子过程的输入和输出。当试图通过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
相关推荐:
Python中的多过程是什么?
下一篇 Python如何进行进程间的通信
