这就是我想做的,但popen2已经被废弃了,官方文档里说替代的是subprocess.popen()
我用了官方的
p = Popen(cmd, shell=True, bufsize=bufsize,
stdin=PIPE, stdout=PIPE, close_fds=True)
(child_stdin, child_stdout) = (p.stdin, p.stdout)
但我试下来,如果cmd给的是'pwd'这样的指令,执行完进程就结束了(p.poll()结果为0)
如果cmd给的是'/bin/bash'这样的指令,执行child_stdin.write(b'pwd')不能把输入送给进程,只能调用p.communicate(),但调用完communicate进程也就结束了
就没有一个方法能开一个bash子进程, 并持续的喂命令,读输出吗?
【 在 Madlee 的大作中提到: 】
: popen2开一个bash,然后一行行喂命令。根据命令的输出决定下一次的输入。
--
FROM 124.71.94.*