与持久性python进程(或多进程)交互

时间:2018-02-25 07:05:24

标签: python subprocess python-multiprocessing multiprocess

我想做这样的事情:

import MyProcess

proc1 = MyProcess('python').start()
proc2 = MyProcess('bash').start()

### This would mimic what happens in a python shell
print(proc1('a=10')) ==> ___
print(proc1('a*2')) ==> 20
proc1('b=a*2')
print(proc1("print(b)") ==> 20

### This would mimic what happens in a bash shell
proc2("a=hello")
proc2("b=there")
c = proc2("echo \"$a $b\"")
print(c) ==> hello there

proc1.stop()
proc2.stop()

我不确定从哪里开始。我尝试使用subprocess,但是一旦从我的上一个命令(发布了stdout)读回process.stdin.write,该过程似乎退出并且不会执行任何进一步的命令。此外,多处理可能更好,因为它可以更好地利用多核等资源。

我找不到任何多处理的例子,你可以在这里找到一个进程,发出一个命令,获取输出,发出另一个命令,得到那个输出等等。看起来它似乎始终是关于启动过程,然后让它完成。我是否需要这个过程来包装某种while True循环?

0 个答案:

没有答案