用于系统交互,允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。
-
run(),还是当前进程。
-
call()
2.1. check_call()
2.2. getstatusoutput()
2.3. getoutput()
2.4. check_output() -
Popen():开启新进程,子进程的创建和管理
3.1 属性:
args:shell命令,可以是字符串或者list、元组
stdin:标准输入
stdout=subprocess.PIPE:标准输出
stderr=subprocess.PIPE:错误句柄
3.2 方法:
stdout.read():读取结果
poll(): 检查进程是否终止,如果终止返回 returncode,否则返回 None。
wait(timeout): 等待子进程终止。
communicate(input,timeout): 和子进程交互,发送和读取数据。(只交互一次)
send_signal(singnal): 发送信号到子进程 。
terminate(): 停止子进程,也就是发送SIGTERM信号到子进程。
pid():查看进程号
kill(): 杀死子进程。发送 SIGKILL 信号到子进程。
与os.kill的差别:os.kill(pid)需要进程号,而这里的不需要