Python and Unix Commands

T

timdoyle05

Hi,

I have a question relating to how Unix commands can be issued from
Python programs. Im am currently writing a large test script in python
and I need this script to call three other separate Python scripts,
where each one executes in it own thread of control. I would like to
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??

Thanks for your time,
I would really appreciate any assistance,

Tim.
 
A

Alan Gauld

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,
 
P

Piet van Oostrum

timdoyle05 said:
T> Hi,
T> I have a question relating to how Unix commands can be issued from
T> Python programs. Im am currently writing a large test script in python
T> and I need this script to call three other separate Python scripts,
T> where each one executes in it own thread of control. I would like to
T> use a Unix command to get each script to run in its own shell. I have
T> tried using the "Commands" module but after I issue the
T> first "command", execution blocks until I kill the called script. Is
T> there a way around this??

Use the subprocess module. If you have an older python, you could use
os.system(command + "&") or install the subprocess module yourself.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,019
Latest member
RoxannaSta

Latest Threads

Top