
Actualizar:Respondiendo al comentario:
comprobar 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
comprobando el 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:Detuve 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!
Respuesta1
Esto puede suceder ocasionalmente cuando Apache se niega a detenerse correctamente o tieneProcesos zombis. Para el primero, puede eliminar todos los procesos en ejecución con sudo killall -9 apache2
; sin embargo, para este último simplemente tendrás que esperar a que desaparezcan. En caso de que Apache no quiera detenerse correctamente, lo que realmente querrá hacer es investigar qué está pasando. Sin embargo, descubrir exactamente qué está pasando puede resultar difícil.
Una interacción strace
de la identificación del proceso puede dar una pista sobre qué sitios están funcionando mal y causando problemas. Desde arriba ps -A
puedes verificar el primer proceso con
strace -p 1663
Esto se adjuntará al seguimiento de la pila de procesos en ejecución y proporcionará una salida en vivo de lo que está sucediendo. En cualquier momento puedes Ctrl+C
Un recurso adicional es el registro de errores principal de Apache, que se puede encontrar en. /var/log/apache2/error.log
Querrá obtener una parte decente del registro y hojearlo para obtener más detalles. Si el problema es un problema continuo que se ejecuta
tail -f /var/log/apache2/error.log
Esto similar al strace
se ejecutará en tiempo real. Para las últimas N líneas, reemplace -f
con -#
un #
número positivo como 50, 100, 282, etc.
Respuesta2
Asegúrese de tener los permisos adecuados para detener el servicio.
Si tu corres:
service apache2 stop
no obtendrás ningún error solo:
* Deteniendo el servidor web apache2
Intentar:
sudo service apache2 stop
Respuesta3
Yo también tuve el mismo problema e intenté lo siguiente:
sudo apache2ctl stop
para detener el servicio, y
sudo apache2ctl start
para empezar de nuevo.
A mí me funciona, cualquier posible sugerencia es bienvenida.
Respuesta4
Se pueden solicitar procesos (enviando unseñala ellos) para detenerse. El kill
comando es una forma de hacerlo. Si conoce el ID del proceso (PID) del proceso, puede solicitarlo ejecutando el siguiente comando en una terminal:
kill PID_OF_YOUR_PROCESS
El ejemplo anterior envía al PID la señal TERM predeterminada (código 15). Puede buscar los códigos de señal en elpágina man de matar( 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, porque es posible que el proceso no guarde ningún dato no guardado.
Al especificar a -SIGNAL_CODE
como primer parámetro antes del ID del proceso, se enviará al proceso la señal específica. Otra característica útil del kill
comando es que puede especificar más PID como en el siguiente ejemplo:
kill -9 PID1 PID2 PID3 PID4
Intente finalizar los procesos de Apache utilizando la kill -9
línea. Deberían detenerse a menos que algo les impida hacerlo.