--- a/server/mpm_unix.c +++ a/server/mpm_unix.c @@ -789,10 +789,17 @@ int ap_signal_server(int *exit_status, apr_pool_t *pconf) } else { if (kill(otherpid, 0) == 0) { - running = 1; - status = apr_psprintf(pconf, - "httpd (pid %" APR_PID_T_FMT ") already " - "running", otherpid); + if (getpid() == otherpid) { + status = apr_psprintf(pconf, + "httpd (pid %" APR_PID_T_FMT ") already " + "running but it's ourself, can safely " + "proceed", otherpid ); + } + else { + running = 1; + status = apr_psprintf(pconf, + "httpd (pid %" APR_PID_T_FMT ") already " + "running", otherpid); + } } else { status = apr_psprintf(pconf,