ID:               16548
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         Apache related
 Operating System: RED HAT Linux 7.2
 PHP Version:      4.1.2
 New Comment:

Try this:
system("exec $DLC/bin/_mprshut $CADB/$DB -C watchdog 2>&1
</dev/null");



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

[2002-04-11 11:46:40] [EMAIL PROTECTED]

Hi,

system("exec $DLC/bin/_mprshut $CADB/$DB -C watchdog 1>/dev/null 2>&1
&");

has the same effect!
_mprshut is a daemon that ended in a second.

Please notice: The script doesn't hungs the rest works fine after
system.
I can't open any new page after accessing this script an
_mprshut listen on port 80.
On HP-UX the Apache still works fine with a listening
_mprshut.

Stefan

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

[2002-04-11 11:37:33] [EMAIL PROTECTED]

Hmm, on second thoughts, it sounds like your OS is broken.
Does the equivalent script written in perl do the same?

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

[2002-04-11 11:35:10] [EMAIL PROTECTED]

Please read the docs about system().
System executes the process and waits for it to complete
before returning.
You need to append an & character to your command to cause
it to run in the background.


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

[2002-04-11 08:27:19] [EMAIL PROTECTED]

This are my simple commands:
system("$DLC/bin/proserve $CADB/$DB 2>&1");                 
system("exec $DLC/bin/_mprshut $CADB/$DB -C watchdog 2>&1");


The first command works fine but the second hangs the actual httpd
session.
It executes o.k. but tries to get the actual webserver process:
[root@linux datenbank]# lsof | grep www                                
       
httpd     30824 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30825 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30826 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30827 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30828 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30829 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30831 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
httpd     30835 root   16u  IPv4      28772                  TCP *:www
(LISTEN)
_mprshut  31169 root   16u  IPv4      28772                  TCP *:www
(LISTEN)

This process is the parent of 1:
[root@linux datenbank]# ps -ef | grep 31169                            
        
root     31169     1  0 13:14 ?        00:00:00
/home/dlc83e/bin/_mprshut /home/
                                                                       
        
[root@linux datenbank]# ps -ef | grep 30835                            
        
root     30835 30824  0 10:59 ?        00:00:00
/usr/local/apache/bin/httpd     

Then my actual session of my IE hangs and i only can lose it.
The php script is ended because i got </body> and the IE loading bar
vanished.
I can't restart the server because this process 31169 holds port 80
open. 

I use the same script on SCO, Reliant Unix and HP-UX11.
On HP-UX11 the _mprshut also listen on port 80 but on a different
session because the website still reacts.
The apache server restart is impossible before killing this process
manually.
              

Any ideas where i can search the problem ??

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


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

Reply via email to