httpd - child processes don't die !!

httpd - child processes don't die !!

Post by Devendra Naraya » Sat, 13 May 1995 04:00:00



On Solaris 2.3 - httpd 1.4 ( startservers 10, maxservers 10 ), many child
processes ( over and above the 10 as set up in httpd.conf ) remain left
over even after a couple of days. Any one else has seen similar problems ?
Any solutions ?

Also another interesting point :

On an AIX 4.1x system, 'ps ux | grep httpd'  gives the following output :

nobody   11132     17:33:34  0:00 httpd-child
root     13178     17:33:34  0:00 httpd-root  
nobody   11646     17:33:34  0:00 httpd-child
nobody   12672     17:33:34  0:00 httpd-child
nobody    7554     17:33:34  0:00 httpd-child
nobody    7300     17:33:34  0:00 httpd-child

        This kind of a root, child display is very helpful. But I just couldn't
get such an output on a Solaris server -

  nobody  6674  6013 10 18:14:15 ?          0:00 httpd
    root  6013     1 80 17:47:35 ?          0:18 httpd
  nobody  6015  6013 80 17:47:35 ?          0:02 httpd
  nobody  6023  6013 80 17:47:36 ?          0:05 httpd
  nobody  6020  6013 80 17:47:35 ?          0:02 httpd

Is it because of a bug ( or 'feature' ) in 'Solaris' or 'httpd' ?
Any help/hints would be greatly appreciated ?

Regards,
Devendra Narayan

 
 
 

httpd - child processes don't die !!

Post by Rob Hartil » Sat, 13 May 1995 04:00:00



>On Solaris 2.3 - httpd 1.4 ( startservers 10, maxservers 10 ), many child
>processes ( over and above the 10 as set up in httpd.conf ) remain left
>over even after a couple of days. Any one else has seen similar problems ?
>Any solutions ?

I think Brandon has plans to fix that in a future version.

Quote:>    This kind of a root, child display is very helpful. But I just couldn't
>get such an output on a Solaris server -
>  nobody  6674  6013 10 18:14:15 ?          0:00 httpd
>    root  6013     1 80 17:47:35 ?          0:18 httpd
>  nobody  6015  6013 80 17:47:35 ?          0:02 httpd
>  nobody  6023  6013 80 17:47:36 ?          0:05 httpd
>  nobody  6020  6013 80 17:47:35 ?          0:02 httpd
>Is it because of a bug ( or 'feature' ) in 'Solaris' or 'httpd' ?
>Any help/hints would be greatly appreciated ?

It might be a SYSV thing. HPsUX refuses to acknowledge changes
to the process name.

 
 
 

httpd - child processes don't die !!

Post by Brandon Lon » Sun, 14 May 1995 04:00:00




>>        This kind of a root, child display is very helpful. But I just couldn't
>>get such an output on a Solaris server -
>>  nobody  6674  6013 10 18:14:15 ?          0:00 httpd
>>    root  6013     1 80 17:47:35 ?          0:18 httpd
>>  nobody  6015  6013 80 17:47:35 ?          0:02 httpd
>>  nobody  6023  6013 80 17:47:36 ?          0:05 httpd
>>  nobody  6020  6013 80 17:47:35 ?          0:02 httpd
>>Is it because of a bug ( or 'feature' ) in 'Solaris' or 'httpd' ?
>>Any help/hints would be greatly appreciated ?
>It might be a SYSV thing. HPsUX refuses to acknowledge changes
>to the process name.

We actually have it fixed for HPUX (it is specific, see the inststr()
function in util.c), but it doesn't work on all systems.  If anyone knows
how to modify it (we do it on all systems but HPUX by modifying argv[0])
on other systems, feel free to let us know.

Brandon
--
 Brandon Long   (N9WUC)     "I think, therefore, I am confused." -- RAW
 Computer Engineering           Run Linux 1.1.xxx       It's that Easy.

                Don't worry, these aren't even my views.

 
 
 

httpd - child processes don't die !!

Post by Casper H.S. D » Mon, 15 May 1995 04:00:00



>It doesn't have to do much with httpd. This change of 'process name' (you
>know there are no process names in Unix) is achieved by just modifying
>your own argv space, what is nothing but a (mild) hack. Now some systems
>give you direct hands on argv space, while others just hand you a copy
>of it. Modification of the copy doesn't show up in ps listings of course.
>I'd guess that you can modify real argv on most BSD derivates, but not on
>most SYSVs.

Your interpretation of how things work is not quite correct.
You always get a "copy" of argv, because that's how new processes
are created.  The difference is where ps looks for the arguments.
In Solaris 2.x/SVR4, ps looks to the saved first N bytes of the argument
vector in /proc/<pid>.  BSD ps looks in a processes address space to
find the arguments so they're yours to change.

Casper
--
Casper Dik - Network Security Engineer - Sun Microsystems
This article is posted from my guest account at the University

 
 
 

httpd - child processes don't die !!

Post by Andre Be » Mon, 15 May 1995 04:00:00


|> On an AIX 4.1x system, 'ps ux | grep httpd'  gives the following output :

|> nobody   11132     17:33:34  0:00 httpd-child
|> root     13178     17:33:34  0:00 httpd-root  

|>   This kind of a root, child display is very helpful. But I just couldn't
|> get such an output on a Solaris server -

|>   nobody  6674  6013 10 18:14:15 ?          0:00 httpd
|>     root  6013     1 80 17:47:35 ?          0:18 httpd

|> Is it because of a bug ( or 'feature' ) in 'Solaris' or 'httpd' ?
|> Any help/hints would be greatly appreciated ?

It doesn't have to do much with httpd. This change of 'process name' (you
know there are no process names in Unix) is achieved by just modifying
your own argv space, what is nothing but a (mild) hack. Now some systems
give you direct hands on argv space, while others just hand you a copy
of it. Modification of the copy doesn't show up in ps listings of course.
I'd guess that you can modify real argv on most BSD derivates, but not on
most SYSVs.

--
+-o-+--------------------------------------------------------+-o-+
| o |               \\\- Brain Inside -///                   | o |
| o |                   ^^^^^^^^^^^^^^                       | o |

+-o-+--------------------------------------------------------+-o-+

 
 
 

1. Son processes don't die when father die..

Hello,

Could someone tell me how to do for sons to finish when father finishes

# cat tt
#!/bin/ksh
sleep 50 &
sleep 60 &
wait
# ./tt
^C
# ps -aef | grep sleep
    root   507     1  0 06:25:01 pts/2    0:00 sleep 60
    root   520     1  0 06:25:45 pts/2    0:00 sleep 50

After control C, every son is reattached to init.

Regards

2. Linux Mandrake 7.0 & 7.1 Install Failure - Is There a Fix?

3. Getting a child and child's child process-id

4. SSL and Sun Crypto Card

5. Ami bios and eide ?

6. cern-httpd: childs didn't die

7. Diskless remoteboot with LTSP and 3com NIC

8. Solaris 9 - nohup'd background child process dying when ^C pressed in parent (/sbin/sh)

9. PROBLEM with CHILD PROCESS's DONT DIE!

10. Forked child processes won't die

11. Process Id for the child process that is dying

12. Apache: child processes don't exit