stdout not flushed before os.execvp()

Thomas Guettler guettli+usenet at
Tue Oct 17 16:39:19 CEST 2006


I noticed, that sys.stout does not get flushed before the process is
replaced. The last print statements (before execvp()) disappear.

It only happens, if the output is redirected to a file (if sys.stdout is
not line buffered).

import os
print "Messsage"
os.execvp("/bin/true", ["/bin/true"])

===> python tmp/ 

===> python tmp/  > out ; cat out

Is this a bug or feature?

My version:
Python 2.4.2 (#1, May  2 2006, 08:28:01) 
GCC 4.1.0 (SUSE Linux)] on linux2

Thomas Güttler,
E-Mail: guettli (*) thomas-guettler + de
Spam Catcher: niemand.leermann at

More information about the Python-list mailing list