[Python-Dev] Pondering some changes to python.c...
Guido van Rossum
guido@python.org
Mon, 08 Apr 2002 16:51:57 -0400
> >-1 on making it the default -- there are programs relying on this.
>
> Interesting point... One of the main reasons that I wanted this was that
> some programs rely on it *NOT* being there. Like "killall", etc...
When I run a Python script that has a #! directly, ps doesn't show me
the "python" part -- only the script name. This is in Linux (Red Hat
7.2). Maybe it's different for you?
I think that it's totally acceptable that when you say "python foo.py"
that argv[0] is seen by ps to be "python".
> >+1 on providing a sys module interface for this so that programs
> >can choose the name on their own.
>
> Yeah, I was thinking about that one. It's kind of complicated,
> unfortunately. To do it right, you need to muck around with the original
> argv and envp arguments. So, it will cause side-effects to any code
> calling the main Python entry point if we do it in there... Besides, we
> really end the envp anyway (which Py_Main doesn't take).
>
> So, I'm thinking there would need to be a new entry point like
> "Py_ArgsSetup(int argc, char ***argv, char ***envp)", which would need to be
> called to set this up. You'd call "Py_ArgsSetup(argc, &argv, &envp)", and
> it would re-allocate argv and envp, and use the original data space for
> storing the process string.
I'm not sure I understand. If you have the argc/argv/environ set, why
do you need to know &argc and &argv?
--Guido van Rossum (home page: http://www.python.org/~guido/)