misc/run-with-pythonpath.py: exec() the child (on unix), to remove the intermediate process

This commit is contained in:
Brian Warner 2009-06-01 14:01:37 -07:00
parent 9a02f4a104
commit 8e25066753

View File

@ -34,6 +34,17 @@ if oldpp == [""]:
newpp = os.pathsep.join(oldpp + [supportlib,])
os.environ['PYTHONPATH'] = newpp
command = sys.argv[1:]
rc = subprocess.call(command)
sys.exit(rc)
if sys.platform == "win32":
command = sys.argv[1:]
rc = subprocess.call(command)
sys.exit(rc)
else:
from twisted.python.procutils import which
cmd = sys.argv[1]
if cmd and cmd[0] not in "/~.":
cmds = which(cmd)
if not cmds:
print >>sys.stderr, "'%s' not found on PATH" % (cmd,)
sys.exit(-1)
cmd = cmds[0]
os.execve(cmd, sys.argv[1:], os.environ)