En Tue, 06 Feb 2007 22:59:40 -0300, <[EMAIL PROTECTED]> escribió: > this is my code snip. > within my python script I have the following commands.. > > <snip> > > import os > ... > os.system ("cd /home; ./TestTool &") > os.system ("cd /usr/; sh run.sh load.xml &") > > <snip> > > I need to kill these 2 process after a particular job is done.. is > there any way to get the pids of these process and if so how do i > invoke the kill command through os.system.. > > or else is there anyother way to do this...
If you're using Python>=2.4 you could use the subprocess module. import subprocess child1 = subprocess.Popen(["./TestTool"], cwd="/home") child2 = subprocess.Popen(["sh","run.sh","load.xml"], cwd="/usr") Popen objects have a pid attribute. You don't have to use os.system to kill them; use os.kill instead. You'll notice that I leave out the final &, because I don't know how to start a background process without using the shell. But I think you can use: bg [pid], afterwards, to get the same result. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list