Eliminar procesos “zombies” de SSH

7 11 2008

Hay veces que con SSH se cierran mal las conexiones, y se quedan procesos abiertos (zombies) en la máquina que tiene el demonio de SSH.

Ejemplo:

#ps -ef
calidad   7762  7761  0 Nov03 ?        00:00:00 [scp] <defunct>
root      1898  2384  0 Nov03 ?        00:00:00 sshd -i -f /etc/ssh/sshd_config
calidad   1913  1898  0 Nov03 ?        00:00:00 sshd -i -f /etc/ssh/sshd_config
calidad   1914  1913  0 Nov03 ?        00:00:00 [scp] <defunct>
root      4664  2384  0 Nov03 ?        00:00:00 sshd -i -f /etc/ssh/sshd_config
calidad   4669  4664  0 Nov03 ?        00:00:00 sshd -i -f /etc/ssh/sshd_config
calidad   4670  4669  0 Nov03 ?        00:00:00 [scp] <defunct>
root      6344  2384  0 Nov03 ?        00:00:00 sshd -i -f /etc/ssh/sshd_config
calidad   6349  6344  0 Nov03 ?        00:00:00 sshd -i -f /etc/ssh/sshd_config
calidad   6350  6349  0 Nov03 ?        00:00:00 [scp] <defunct>

Para eliminar estas sesiones que se quedan sin cerrar correctamente, se puede enviar la señal de reinicio al proceso de SSH, por cada una de las sesiones mal cerradas:

pstree -cpal | egrep [s]shd | perl -lne '($i)=(/(\d+)/); `kill -1 $i`'

Con esto conseguimos que se reinicien todas las conexiones de SSH que tiene la máquina.

(Recuerda que hay que tener Perl instalado para poder ejecutar el comando anterior).





Comandos Unix para administrar sistemas

12 10 2008

Hoy he descubiertos dos nuevos comandos para Unix bastante útiles a la hora de la administración de un sistema:

  • pstree -cpal: Muestra de forma jerárquica los procesos que tiene el sistema corriendo.
  • pstree -p 2323: Muestra la jerarquía de procesos a partir del proceso 2323.
  • lsof: (ls Open Files) Muestra los descriptores de fichero que tiene el sistema abiertos, ya sean descriptores de ficheros, o conexiones de red… que UNIX las trata también como descriptores de fichero.
  • watch -d: Ejecuta un comando cada X segundos, y muestra la diferencia de la salida por pantalla con respecto a la iteración anterior.

Más información: watch, lsof, pstree.