Launching scripts in Ubuntu ?
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Tue Oct 14 15:32:39 EDT 2008
En Tue, 14 Oct 2008 10:46:34 -0300, Stef Mientki <stef.mientki at gmail.com>
escribió:
>>> well the command prompt (if it is called that way in Linus) is not
>>> returned.
>>>
>>> When I run file_support, the command window looks like this
>>> >>>python file_support.py
>>> ..... all kinds of output
>>> >>>
>>>
>>> When I run test.py (which calls fie_support) , I get this
>>> >>>python test.py
>>> .... all kinds of output (the same as before)
>>>
>>> Now I've to explicitly press an enter to get the command prompt back.
> ok It seems to be solved now,
> In creating a small example to emphasize the problem,
> I found the difference between Win and Linux:
> In windows "shell=True" and in Linux "shell=False"
> PID = subprocess.Popen( arguments,
> cwd = cwd ,
> stdout = subprocess.PIPE,
> stderr = subprocess.PIPE,
> shell = ( os.name == 'nt') )
> so the above statement seems (at least for the moment) solve all the
> problems.
I'd say there is no problem. It just *appears* to be one. The first
program finishes, and the shell displays its prompt, while the child is
still outputting things. I bet you can see the stef at stef-desktop...$
somewhere in the output.
It's like executing:
$ ls&
the shell prompt is shown as soon as the ls (background) process starts,
but gets lost in the output.
> Diez B. Roggisch wrote:
>> Additonally, you might want to check out the Popen-object-reference for
>> the
>> wait-call, but actually that shouldn't change anything with regards to
>> pressing enter or not.
Calling wait in the parent script would prevent it to finish before the
child, avoiding the issue.
--
Gabriel Genellina
More information about the Python-list
mailing list