os.execvp() weirdness

Hrvoje Niksic hniksic at iskon.hr
Fri Nov 26 09:39:00 EST 1999


While trussing a Python program, I found some pretty weird stuff it
was doing while trying to exec() a program.  Investigation showed that
os.execlp() called os.execvp(), but the latter, instead of being a
wrapper around the system's execvp() syscall, tries to do its own
searching.

Why is that?  All Unix systems I know of have a working execvp()
system call.  Why was it necessary to emulate one in the interpreter?
Also, os.execvp() does weird things trying to exec mktemp() file names
for reasons I couldn't discern.  None of it appears to be documented.




More information about the Python-list mailing list