Actualización: respondiendo al comentario:
verificar procesos de apache:
$ ps a | grep apache 3
grep: 3: No such file or directory
$ ps a | grep apache
4514 pts/0 S+ 0:00 grep --color=auto apache
$ ps a | grep apache2
4516 pts/0 S+ 0:00 grep --color=auto apache2
comprobación del registro de errores de apache
$ tail /var/log/apache2/error.log
[Sun Aug 07 03:14:19 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.5 with Suhosin-Patch configured -- resuming normal operations
[Mon Aug 08 03:13:58 2011] [notice] Graceful restart requested, doing restart
[Mon Aug 08 03:14:00 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.5 with Suhosin-Patch configured -- resuming normal operations
[Mon Aug 08 09:03:16 2011] [notice] caught SIGTERM, shutting down
[Mon Aug 08 09:05:47 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.5 with Suhosin-Patch configured -- resuming normal operations
Original: he detenido Apache, pero ¿por qué todavía tiene la misma cantidad de procesos en ejecución?
$ ps -A | grep apache
1663 ? 00:00:00 apache2
1667 ? 00:00:00 apache2
1668 ? 00:00:00 apache2
1669 ? 00:00:00 apache2
1670 ? 00:00:00 apache2
1671 ? 00:00:00 apache2
$ /etc/init.d/apache2 stop
* Stopping web server apache2 [ OK ]
$ ps -A | grep apache
1663 ? 00:00:00 apache2
1667 ? 00:00:00 apache2
1668 ? 00:00:00 apache2
1669 ? 00:00:00 apache2
1670 ? 00:00:00 apache2
1671 ? 00:00:00 apache2
¡Gracias!
Respuestas:
Esto puede suceder ocasionalmente cuando Apache se niega a detenerse bien o tiene procesos de zombis . Para el primero puede matar todos los procesos en ejecución con
sudo killall -9 apache2
; Sin embargo, para este último, simplemente tendrá que esperar a que desaparezcan. En el caso de que Apache no quiera detenerse amablemente, lo que realmente querrá hacer es investigar lo que está sucediendo. Sin embargo, descubrir exactamente lo que está sucediendo puede ser difícil.Una
strace
identificación interactiva del proceso puede dar una idea de qué sitio (s) están actuando y causando problemas. Desde lo anteriorps -A
puede verificar el primer proceso conEsto se adjuntará al seguimiento de la pila de procesos en ejecución que proporciona una salida en vivo de lo que está sucediendo. En cualquier momento puedes Ctrl+C
Un recurso adicional es el registro de errores principal para Apache, que se puede encontrar en
/var/log/apache2/error.log
Querrá obtener una porción decente del registro y hojearlo para obtener más detalles. Si el problema es un problema continuo en ejecuciónEsto es similar a lo que
strace
se ejecutará en tiempo real. Para las últimas N líneas, reemplace-f
con-#
donde el#
es un número positivo como 50, 100, 282, etc.fuente
Asegúrese de tener los permisos adecuados para detener el servicio.
Si tu corres:
no obtendrá ningún error solo:
Tratar:
fuente
Yo también tuve el mismo problema e intenté lo siguiente:
para detener el servicio, y
para comenzar de nuevo.
A mí me funciona, cualquier sugerencia posible es bienvenida.
fuente
El comando
systemctl stop apache2
funcionó para mí.fuente
Se puede pedir a los procesos (enviándoles una señal ) que se detengan. El
kill
comando es una forma de hacerlo. Si conoce el ID de proceso (PID) del proceso, se puede preguntar muy bien ejecutando el siguiente comando en un terminal:El ejemplo anterior envía al PID la señal TERM predeterminada (código 15). Puede buscar los códigos de señal en la página de manual de kill (
man kill
).Cuando el programa ignora la señal TERM que se les envía, aún es posible aplicar un poco más de presión enviando la señal KILL (código 9). Esta señal se utiliza como último recurso, ya que el proceso podría no guardar ningún dato no guardado.
Especificar a
-SIGNAL_CODE
como primer parámetro antes de la ID del proceso enviará al proceso la señal específica. Otra característica útil delkill
comando es que puede especificar más PID como en el siguiente ejemplo:Intente terminar los procesos de Apache utilizando la
kill -9
línea. Deben detenerse a menos que algo les impida hacerlo.fuente
Tuve el mismo problema, pero no puedes hacer un solo
service apache2 stop
comando: tienes que hacer un proceso PER . Luego, PUEDE querer agregar unsudo
frente solo en caso de que haya iniciado sesión en alguna cuenta extraña que lo necesite, por lo que si ve 9 procesos en ejecución, haga 9sudo service apache2 stop
Funcionó muy bien para mí.
fuente
Después de instalar nginx, mi apache dejó de funcionar correctamente. Parece en algunos casos apache confuso con nginx. Simplemente elimine nginx
fuente