Hi Török. My test code had/has something similar.. but it kept displaying zombie processes as well as legitimate processes in the ps tbl/display...
Turns out I had a mistake in the test "client" ap/process that I was creating... This was causing the child process to die, resulting in a "zombie" process, until the parent got around to doing a waitpid call... i think it's ok now... thanks ps, torok... are you in the US/Canada? Also, are you up to talking to me about this project that I'm playing with? -----Original Message----- From: Török Alpár [mailto:torokal...@gmail.com] Sent: Friday, January 23, 2009 10:09 AM To: bruce Cc: php-general@lists.php.net Subject: Re: [PHP] process creation 2009/1/23 bruce <bedoug...@earthlink.net> > A simple question (or so I thought). > > Does php allow an app to create/start a process/application that can > continue to run on its own, after the initiating program/app terminates? > > It appears that the spawning/forking functions might work, but the child > apps would be in a zombie status, and couldn't be killed by an external > program. > > Basically, I'd like to create a bunch of test apps/processes, and then to > be > able to kill them by a separate process if the apps take too long to run.. You can have the parent sleep, and then clean up like : $aPids = array(); for ($i=0;$i<CHILDREN_NUMBER;++$i) { if ( $iPid = pcntl_fork() == 0) { // children code exit(0); } else { // parent code $aPids[] = $iPid; } } // the parent sleeps sleep(MAX_EXECUTION_OF_CHILDREN); for ($i=0;$i<CHILDREN_NUMBER;++$i) { // check how the child is doing $iPid = int *pcntl_waitpid* ( $aChildren[$i], $iStatus , WNOHANG); if ($iPid == -1) { // oh these children ... newer doing what they should posix_kill($aChildren[$i]); } } this would also take care of zombies. > > So.. thoughts/comments would be appreciated! > > thanks > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Torok, Alpar Istvan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php