I am trying to understand how to use named pipes in python to launch external processes (in a Linux environment).
As an example I am trying to "imitate" the behaviour of the following sets of commands is bash:
> mkfifo named_pipe
> ls -lah > named_pipe &
> cat < named_pipe
In Python I have tried the following commands:
import os
import subprocess as sp
os.mkfifo("named_pipe",0777) #equivalent to mkfifo in bash..
fw = open("named_pipe",'w')
#at this point the system hangs...
My idea it was to use subprocess.Popen and redirect stdout to fw... next open named_pipe for reading and giving it as input to cat (still using Popen).
I know it is a simple (and rather stupid) example, but I can't manage to make it work..
How would you implement such simple scenario?