471,578 Members | 1,286 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,578 software developers and data experts.

Python and Unix Commands

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.

Sep 19 '05 #1
2 2889
> 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
Sep 19 '05 #2
>>>>> "timdoyle05" <ti********@yahoo.com> (T) wrote:
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.
--
Piet van Oostrum <pi**@cs.uu.nl>
URL: http://www.cs.uu.nl/~piet [PGP 8DAE142BE17999C4]
Private email: pi**@vanoostrum.org
Sep 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

54 posts views Thread by Brandon J. Van Every | last post: by
4 posts views Thread by Logan | last post: by
52 posts views Thread by Olivier Scalbert | last post: by
3 posts views Thread by Kory Wheatley | last post: by
10 posts views Thread by Andrew Dalke | last post: by
1 post views Thread by sub1ime_uk | last post: by
2 posts views Thread by Xah Lee | last post: by
reply views Thread by XIAOLAOHU | last post: by
reply views Thread by lumer26 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.