Using subprocess module to launch a shell shell script that itself forks a process

Sean DiZazzo half.italian at gmail.com
Wed Oct 8 14:54:12 EDT 2008


On Oct 8, 11:24 am, "Samuel A. Falvo II" <sam.fa... at gmail.com> wrote:
> On Oct 7, 6:23 pm, "Gabriel Genellina" <gagsl-... at yahoo.com.ar> wrote:
>
> > Is your shell script doing something else, apart from invoking the java  
> > process?
>
> Obviously, yes.  The script is some 150 lines long.  But the hang-up
> occurs because of the forked Java process, not the other lines.
>
> > If not, you could just invoke java directly from Python. Also,  
> > you set stdin=PIPE - is your java process expecting some input? you're not  
> > writing anything to stdin.
>
> It does not expect input from stdin.  However, this does not affect
> any OTHER scripts or commands I run.
>
> Let's remember to look at the objective facts: for shell scripts that
> launch child processes of their own, Python hangs.  For all other
> types of commands, it works 100% as expected.
>
> > Anyway, it's better to use the communicate method instead (it uses select  
> > to read from both stdout and stderr):
>
> That doesn't help me.
>
> > See  http://docs.python.org/library/subprocess.html#subprocess.Popen.commu...
>
> I have.

You should be nicer to Gabriel.  He is a guru.



More information about the Python-list mailing list