I will try posix_setsid(). Both machines were accessed via a ssh client (e.g. putty or ssh from a other linux box). Thanks for your advice. Am 29. März 2012 23:08 schrieb Stuart Dallas <stuart@xxxxxxxx>: > On 29 Mar 2012, at 20:49, Ralf Gnädinger wrote: > > > i got some trouble with a PHP script using pcntl_fork do run some work in > > background. > > Runnig my script on my development system (PHP version 5.3.3-7) it > behaves > > like > > intended. But running it on my production test system (PHP version PHP > > 5.1.2), i got > > some strange results. The problem is, that when i logout from my SSH > > session the > > console closes not properly, like somethings is kept open. Sadly, > updating > > this old PHP > > version is not a option... :/ > > > > Does anyone have an idea whats going on? > > > > Thanks in advance > > > > Ralf > > > > The script is this: > > > > #!/usr/bin/env php > > <?php > > > > $pid = pcntl_fork(); > > if ($pid == -1) { > > die('Fork failed!'); > > } else if($pid > 0) { > > > > exit(0); // close parent process > > > > } else { // child process: > > > > while(true) { > > sleep(10); > > // do your work -- stripped > > } > > } > > ?> > > > > do not work with: > > PHP 5.1.2 with Suhosin-Patch 0.9.6 (cli) (built: Dec 12 2007 02:42:35) > > Copyright (c) 1997-2006 The PHP Group > > Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies > > > > > > works with: > > PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cli) (built: Jun 28 2011 > 08:24:40) > > Copyright (c) 1997-2009 The PHP Group > > Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies > > with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH > > You need to detach the child from the terminal using posix_setsid(). I > don't know why it's "working" on your development machine, but it's > probably simply that you're not seeing this issue due to how you access > that development machine. > > -Stuart > > -- > Stuart Dallas > 3ft9 Ltd > http://3ft9.com/