I'm encountering issues on a dedicated Ubuntu 12.04 LTS (Apache/2.2.22), PHP 5.3 with APC.
Every few hours I see this happen:
[Fri Aug 17 15:36:51 2012] [error] server reached MaxClients setting, consider raising the MaxClients setting
This causes the server to drop/refuse all connections.
Since I upgraded from Ubuntu server 11.10 to 12.04, the following errors appear in the Apache logs:
[Thu May 17 10:24:10 2012] [notice] child pid 8057 exit signal Segmentation fault (11)
And the related process is:
www-data 8057 8049 0 10:22 ? 00:00:00 /usr/sbin/apache2 -k start
I have no clue how to start debugging this issue.
I am trying to use shm_unlink(object_path) to clear up the shared memory I opened in signal handling function. However, the code doesn't work. What goes wrong? The code basically does this: A parent process is taking two integers from user input, and fork a child to compute the sum of the two. Once the sum is computed, the child informs the parent that it's done computing sum through a pipe.
I'm creating a parent-child process in C and these processes are using an array of characters as a shared memory and i want the execution to be in this sequence
parent->child->parent->child->parent->child .... and so on, i am using Wait(NULL) in parent but the execution go in the sequence of parent->child->parent->parent->parent ....
64-bit Win7 Apache 2.2.19, mod_wsgi/3.4-BRANCH Python/2.7.3
No errors visible in logs:
[Wed Aug 01 17:44:48 2012] [notice] Apache/2.2.19 (Win64) mod_wsgi/3.4-BRANCH Python/2.7.3 configured -- resuming normal operations
[Wed Aug 01 17:44:48 2012] [notice] Server built: May 28 2011 15:18:56
[Wed Aug 01 17:44:48 2012] [notice] Parent: Created child process 8528
[Wed Aug 01 17:44:48 2012] [debug] mp
The error is 2147746321.
I can see in the mailserver log that it tries, but the connection gets closed.
#include <fcntl.h>
#include <stdlib.h>
int fdrd,fdwt;
char c;
void rdwrt();
main(int argc,char *argv[])
{
if(argc!=3)
exit(1);
if((fdrd=open(argv[1],O_RDONLY))==-1)
exit(1);
if((fdwt=creat(argv[2],0666))==01)
exit(1);
fork();
rdwrt();
exit(0);
}
void rdwrt()
{
for(;;)
{
if(read(fdrd,&c,1)!=1)
return;
From what I understand, SIGKILL cannot be caught. This would imply that a process does not have time to kill it's children before the OS destroys it. This can be demonstrated with a shell script.
#!
Dear All,
I am new to this community and this is my first post. I am facing an issue where the process starts hanging. When I closely look at the logs I come to know that some of the child processes that are forked by the parent process are not finished. Regarding this I have a few questions: