监督Python子shell

时间:2014-07-03 01:01:19

标签: python bash zsh subshell

我想在bashzsh中将Python解释器作为劣质流程运行。在此期间,我想将命令发送到进程并查看STDOUT中的输出。像这样:

$ in=/dev/shm/python_test_in
$ out=/dev/shm/python_test_out
$ touch $in $out
$ python < $in > $out
$ echo print(1+1) > $in
$ cat $out

可悲的是,这不起作用。我正在运行GNU / Linux。

1 个答案:

答案 0 :(得分:0)

您需要的是管道:

mkfifo ./in ./out
python < ./in > ./out &
echo "print(1+1)" > ./in
cat ./out

然而,通过这种方式,python解释器将在执行后立即退出,因为它在&#34; echo&#34;中读取了EOF。线。我正在寻找阻止python解释器退出EOF的方法。