need help to kill a process

elrondrules at gmail.com elrondrules at gmail.com
Wed Feb 7 14:50:55 EST 2007


On Feb 6, 8:24 pm, "Gabriel Genellina" <gagsl... at yahoo.com.ar> wrote:
> En Tue, 06 Feb 2007 22:59:40 -0300, <elrondru... at gmail.com> 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- Hide quoted text -
>
> - Show quoted text -

thx for the reply
os.kill worked fine for the first process.. for the second one the
kill managed to kill the shell but the application is still running..

is there any other work around for this..

thanks




More information about the Python-list mailing list