[BusyBox 0001330]: start-stop-daemon with --make-pidfile and --pidfile on httpd applet creates the wrong pid# in pidfile

bugs at busybox.net bugs at busybox.net
Wed May 2 22:02:26 UTC 2007


A NOTE has been added to this issue. 
====================================================================== 
http://busybox.net/bugs/view.php?id=1330 
====================================================================== 
Reported By:                edh
Assigned To:                BusyBox
====================================================================== 
Project:                    BusyBox
Issue ID:                   1330
Category:                   Other
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
====================================================================== 
Date Submitted:             05-01-2007 13:23 PDT
Last Modified:              05-02-2007 15:02 PDT
====================================================================== 
Summary:                    start-stop-daemon with --make-pidfile and --pidfile
on httpd applet creates the wrong pid# in pidfile
Description: 
When start-stop-daemon is starting the httpd applet, and told to make a
pidfile, it does so, but creates a pidfile containing the pid of the
original process not the running one. httpd probably starts and forks,
letting the parent die. There should be an option to httpd to prevent this
so you can use pidfiles for it created by start-stop-daemon.
====================================================================== 

---------------------------------------------------------------------- 
 edh - 05-02-07 13:53  
---------------------------------------------------------------------- 
This is also the case when using start-stop-daemon to start telnetd. So I
guess it applies to all servers that fork immediately and detach. I needed
the pid for httpd, and now need it for telnetd.

There is a work around in some cases. You can use start-stop-daemon to
send signals, like SIGHUP to servers, removing the need for pidfiles
generally. 

---------------------------------------------------------------------- 
 vda - 05-02-07 15:02  
---------------------------------------------------------------------- 
Auto-daemonizing programs fork children, then parent dies. ssd have no way
detecting this.

Most of daemons have an option to suppress daemonization:

# telnetd --help
        -F              Stay in foreground
        -i              Run as inetd subservice

# httpd --help
        -f              Do not daemonize

Use this if you start them from ssd. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-01-07 13:23  edh            New Issue                                    
05-01-07 13:23  edh            Status                   new => assigned     
05-01-07 13:23  edh            Assigned To               => BusyBox         
05-01-07 13:23  edh            Issue Monitored: edh                         
05-02-07 13:53  edh            Note Added: 0002337                          
05-02-07 15:02  vda            Note Added: 0002338                          
======================================================================




More information about the busybox-cvs mailing list