Python and Unix Commands

Alan Gauld ukc902591034 at btconnect.com
Mon Sep 19 05:46:03 EDT 2005


>   I have a question relating to how Unix commands can be issued 
> from
> Python programs.

There are numerous methods including the commands module that
you have already discovered, the os.system() call and the
various os.popen/os.execXX calls.

Also Python 2.4 has introduced the subprocess module that
superceded most of these.

> and I need this script to call three other separate Python 
> scripts,
> where each one executes in it own thread of control.

Do you actually need to execute the python scripts as scripts,
each with its own instance of the intrerpreter? (For testing
the answer may well be yes) Or would it be possible to simply
execute the script code as a function from within a thread of
your main program?

commands/os.system/subprocess etc are usually used to launch
Unix commands or other executable files, not other Python
scripts. It's easier to interact with Python from within 
Python...

> use a Unix command to get each script to run in its own shell. 
> I have
> tried using the "Commands" module but after I issue the
> first "command", execution blocks until I kill the called 
> script. Is
> there a way around this??

If you must do this then I'd suggest you need to launch a 
separate
thread per shell then use commands/subprocess to launch each
interpreter/script invocation from within its own thread.

[ If you are not interested in the results you could just use
the Unix '&' character to execute the processes in the
background ]

HTH,


-- 
Alan G
Author of the Learn to Program web tutor
http://www.freenetpages.co.uk/hp/alan.gauld 





More information about the Python-list mailing list