[BusyBox 0005954]: Cannot STOP "cleanly" the service PPPD.
bugs at busybox.net
bugs at busybox.net
Mon Nov 3 22:49:36 UTC 2008
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=5954
======================================================================
Reported By: Danny Gilbert
Assigned To: BusyBox
======================================================================
Project: BusyBox
Issue ID: 5954
Category: Networking Support
Reproducibility: always
Severity: major
Priority: normal
Status: assigned
======================================================================
Date Submitted: 11-03-2008 12:54 PST
Last Modified: 11-03-2008 14:49 PST
======================================================================
Summary: Cannot STOP "cleanly" the service PPPD.
Description:
I can use PPPD to communicate with my GPRS (cell phone) but I tried
anything to hangup (SIGHUP), terminate (SIGTERM) or kill (SIGKILL) the
PPPD when not used anymore. It stops but the process PPPD is a ZOMBIE
after all. Maybe I don't do the good thing about it. Can someone can try
it !
In my mean software, I do a fork and execute the PPPD. When my software
wants to close (stop), I ask the PPPD to hang up and shut itself.
Is there SOMETHING special with PPPD on BUSYBOX or this is the SAME as
other Linux distribution ?
Thank you !
======================================================================
----------------------------------------------------------------------
vda - 11-03-08 14:49
----------------------------------------------------------------------
> kill (SIGKILL) the PPPD when not used anymore. It stops but the process
PPPD is a ZOMBIE after all.
Zombie is a dead process. You successfully killed it.
> In my mean software, I do a fork and execute the PPPD.
You must do one of the following in order to dispose of the zombies (your
dead children):
(1) wait() for dead pppd. if you do not know when it will die, install
SIGCHLD handler and kernel will tell you.
-or-
(2) do signal(SIGCHLD, SIG_IGN). Kernel will know that you are not
interested in dying children.
-or-
(3) exit yourself. When parent exits, children are reparented to init. It
will take care of wait()ing for them
> When my software wants to close (stop), I ask the PPPD to hang up and
shut itself.
The mere thought of software which runs pppd from C code directly (not via
helper scripts and the like) makes my nightmares much more vivid. :)
Issue History
Date Modified Username Field Change
======================================================================
11-03-08 12:54 Danny Gilbert New Issue
11-03-08 12:54 Danny Gilbert Status new => assigned
11-03-08 12:54 Danny Gilbert Assigned To => BusyBox
11-03-08 14:49 vda Note Added: 0015034
======================================================================
More information about the busybox-cvs
mailing list