Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Kill forked processes

Reply
Thread Tools

Kill forked processes

 
 
kmkz
Guest
Posts: n/a
 
      02-26-2006
Hi,

I have a program A that forks off two other programs, B and C. I need B
and C to both terminate if A is closed, but by using the
subprocess.call() method this seems to not be the case; I can shut down
the "black box" that is program A and B/C will still stay up.

How can I achieve the desired behavior?

Thanks,
Evan

 
Reply With Quote
 
 
 
 
Steve Juranich
Guest
Posts: n/a
 
      02-26-2006
kmkz wrote:

> I have a program A that forks off two other programs, B and C. I need B
> and C to both terminate if A is closed, but by using the
> subprocess.call() method this seems to not be the case; I can shut down
> the "black box" that is program A and B/C will still stay up.
>
> How can I achieve the desired behavior?


You'll probably need to take a look at the `signal' and `atexit' modules.
These will allow you to write hooks that will get called when your A script
is terminated either by a signal or by reaching one of the "natural"
endpoints.

--
Steve Juranich
Tucson, AZ
USA

 
Reply With Quote
 
 
 
 
kmkz
Guest
Posts: n/a
 
      02-27-2006
Thank you for your reply. I will certainly look into those.

Another question:

Lets say my script A executes two other scripts, B and C. B is a Python
file compiled into an exe and uses the regular black box. C, however,
is a C++ program that I did not write, and have no access to (besides
executing it. ie, i don't have its source). I would like to fork off
the process B and C from A, but make B and C invisible and unable to be
shut down by the user. This way, they have to kill process A.
Unfortunately, this brings me back to the problem I posted above: how
to make the subprocesses dependant on its parent process. Since I have
no access to the C++ program's source I need to come up with a better
way of forcing the OS to "see" process B as being inside of process C
and then shut it down, deallocate its memory, close its pipes, etc...

Any ideas?

I'll be willing to PayPal $10 to anyone who completely figures this out
for me

 
Reply With Quote
 
Steve Juranich
Guest
Posts: n/a
 
      02-27-2006
kmkz wrote:

> Lets say my script A executes two other scripts, B and C. B is a Python
> file compiled into an exe and uses the regular black box. C, however,
> is a C++ program that I did not write, and have no access to (besides
> executing it. ie, i don't have its source). I would like to fork off
> the process B and C from A, but make B and C invisible and unable to be
> shut down by the user. This way, they have to kill process A.
> Unfortunately, this brings me back to the problem I posted above: how
> to make the subprocesses dependant on its parent process. Since I have
> no access to the C++ program's source I need to come up with a better
> way of forcing the OS to "see" process B as being inside of process C
> and then shut it down, deallocate its memory, close its pipes, etc...
>
> Any ideas?


Again, the atexit and signal modules will be your friend.

> I'll be willing to PayPal $10 to anyone who completely figures this out
> for me


1) I wouldn't want to spoil the fun.
2) My time writing code costs much more than that.

--
Steve Juranich
Tucson, AZ
USA

 
Reply With Quote
 
kmkz
Guest
Posts: n/a
 
      02-27-2006
I didn't mean that you'd have to write it for me, I meant that if what
you said works (atexit, signal) I will paypal you $10 for your generous
contribution to my project.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
having problems with open4 and stuck forked processes Tim Uckun Ruby 12 10-14-2010 12:12 PM
system waiting for launched process AND forked processes Pierre Morel Ruby 5 02-17-2010 09:23 PM
How to kill a forked child process... Moritz Karbach Perl Misc 11 06-20-2005 09:08 AM
fork(): how can I kill forked process and all ITS children, but leaveparent alive? Alexander N. Spitzer C Programming 1 11-12-2004 01:25 PM
Kill forked process on Windows 2000 Stéphane Métais Perl Misc 3 10-22-2003 05:55 AM



Advertisments