#24616 [Bgs->Opn]: Process started with "exec cmd > /dev/null &" dies when httpd is closed

From: Date: Mon, 14 Jul 2003 01:45:08 +0000
Subject: #24616 [Bgs->Opn]: Process started with "exec cmd > /dev/null &" dies when httpd is closed
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-43922@lists.php.net to get a copy of this message
 ID:               24616
 User updated by:  carb at videotron dot ca
 Reported By:      carb at videotron dot ca
-Status:           Bogus
+Status:           Open
 Bug Type:         Apache related
 Operating System: RedHat 9.0
 PHP Version:      4.3.2
 New Comment:

Ok, that bug is informative, but why not fork off child processes as
completely seperate from httpd so that they can really run in the
background seperately from the parent?  Such as a double fork to ophan
off the process.

I don't think that people who forks off a background process from
httpd/php with the "&" expect it to die if/when httpd happens to be
restarted or closed.

Real


Previous Comments:
------------------------------------------------------------------------

[2003-07-13 00:02:43] sniper@php.net

This is a feature, not bug. (look in bug #15529 for another
perpective.. :)


------------------------------------------------------------------------

[2003-07-12 01:07:27] carb at videotron dot ca

Same behavior with:

<?PHP
  session_write_close(); 
  
  //Simple example to reproduce problematic forking
  exec("ping localhost </dev/null >/dev/null 2>/dev/null &");

   
?>

------------------------------------------------------------------------

[2003-07-12 01:00:33] carb at videotron dot ca

Description:
------------
When forking off a process from PHP with the statement exec("command >
/dev/null &"), the process will get killed when the httpd is closed.  


Note: This occurs even though ps is telling me that the parent process
id is init (parent process id 1).


Reproduce code:
---------------
<?PHP
  
  session_write_close();  

  //Simple example to reproduce problematic forking.
  exec("ping localhost > /dev/null &");
   
?>

Expected result:
----------------
A continuous ping process should be running in the backgroud,
independently of httpd.  When httpd is closed, the ping (or whatever
relevant) process should keep running.

Actual result:
--------------
When httpd is closed, the ping (or whatever relevant) process dies.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=24616&edit=1



Thread (5 messages)

« previous php.bugs (#43922) next »