Encuentra usuarios de Twitter en tu ciudad con LocaFollow

votarSemáforos y Apache

Autor: gacuj | Archivado en: General, Linux el día 16/May/2005

En alguna ocasión me he encontrado con el siguiente mensaje tras reinicar apache y cuando consulto el estado:

httpd interrumpido pero existe un archivo pid

Nada más verlo dices: “ya está, borro el pid y a correr”. Pues hay ocasiones en las que no. Borraba el pid, reiniciaba y nada. Borrara el pid, el fichero de bloqueo, reiniciaba y nada.

He encontrado una solución:

se trata de que apache no ha liberado recursos del sistema y debemos hacerlo nosotros. En concreto se trata de semáforos. Linux tiene dos comandos que me ayudan a hacer esto (ipcs e ipcrm).

De esta forma ejecutamos:

ipcs -s | grep apache

para ver los id de los recursos (semáforos) que utiliza apache.

ipcrm sem id

que elimina el recurso con id obtenido en el punto anterior. Si hay varios pues nos montamos la sentencia correspondiente.

Tras esto reiniciamos apache y todo vuelve a funcionar

Más info: man de ipcs e ipcrm


  • Digg
  • del.icio.us
  • Facebook
  • Google
  • LinkedIn
  • Meneame
  • MySpace
  • Technorati
  • TwitThis
Posts Relacionados

4 Comentarios on “Semáforos y Apache”

  1. #1 Ganso dijo 10:09 am el Mayo 17th, 2005:

    Pues mira, alguna vez me había pasado y no sabía por dónde venía el tema. Me lo apunto :)

    Por si a alguien le sirve, he estado cacharreando para cerrar automáticamente todos los semáforos de Apache y me ha salido esta línea de comando, que puede venir bien si hay que ponerlo en algún script:
    for a in `ipcs -s | grep apache | cut -f2 -d” “`; do ipcrm sem $a; done


  2. #2 gacuj dijo 10:14 am el Mayo 17th, 2005:

    mu bueno Ganso !!! Alguien se anima con awk?


  3. #3 wazzu dijo 11:09 am el Junio 1st, 2005:

    awk? es mi favorito!
    for i in $(ipcs -s | grep apache | awk ‘{print $2}’);
    do
    ipcrm sem $i;
    done


  4. #4 gacuj dijo 5:46 pm el Junio 1st, 2005:

    yo escribiría menos:

    ipcs -s | grep apache | awk ‘{print $2}’ | xargs ipcrm sem

    Gracias por la propuesta



Deja un comentario.