Chris Angelico <ros...@gmail.com> writes: > On Sun, May 8, 2016 at 9:54 AM, Jim Dodgen <j...@dodgen.us> wrote: > > The empty token is needed but useless, it is arg[0] most people just > > repeat the program name > > Far from useless. It's how a process learns its own name, and yes, > repeating the image name is the most common way to provide that.
In particular, a program's name may not be its file name; it can be called by one of several different names dependeing on how it is installed on the system. Certainly the programmer writing the code cannot hard-code what the command name will be that invokes the program. Only ‘sys.argv[0]’, read at run time, can tell. > Indeed. In fact, I would strongly recommend never using an explicit > fork/exec from Python - always use subprocess or equivalent. On > non-Unix platforms, fork/exec may not be available, but subprocess can > use other methods of invoking programs. I've already mentioned earlier, but to be sure: the ‘python-daemon’ library <URL:https://pypi.python.org/pypi/python-daemon/> takes care of the details of becoming a Unix daemon process. -- \ “… a Microsoft Certified System Engineer is to information | `\ technology as a McDonalds Certified Food Specialist is to the | _o__) culinary arts.” —Michael Bacarella | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list