need help to kill a process

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • elrondrules@gmail.com

    #1

    need help to kill a process

    Hi

    Am new to python and need your help!!

    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...

    thanks

  • Gabriel Genellina

    #2
    Re: need help to kill a process

    En Tue, 06 Feb 2007 22:59:40 -0300, <elrondrules@gm ail.comescribió :
    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.Pope n(["./TestTool"], cwd="/home")
    child2 = subprocess.Pope n(["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

    Comment

    • elrondrules@gmail.com

      #3
      Re: need help to kill a process

      On Feb 6, 8:24 pm, "Gabriel Genellina" <gagsl...@yahoo .com.arwrote:
      En Tue, 06 Feb 2007 22:59:40 -0300, <elrondru...@gm ail.comescribió :
      >
      >
      >
      >
      >
      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.Pope n(["./TestTool"], cwd="/home")
      child2 = subprocess.Pope n(["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

      Comment

      • Gabriel Genellina

        #4
        Re: need help to kill a process

        En Wed, 07 Feb 2007 16:50:55 -0300, <elrondrules@gm ail.comescribió :
        >import subprocess
        >child1 = subprocess.Pope n(["./TestTool"], cwd="/home")
        >child2 = subprocess.Pope n(["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.
        >
        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..
        Don't use the shell, if possible, and replace whatever run.sh does with
        python code.

        --
        Gabriel Genellina

        Comment

        Working...