Victor Hugo dos Santos escribió:
2009/1/26 Aldrin Martoq <amar...@dcc.uchile.cl>:
On Mon, 2009-01-26 at 10:22 -0300, Victor Hugo dos Santos wrote:

[...]

// listar procesos hijos de sshd
# pstree -p $(cat /var/run/sshd.pid )

// extraer PID's
# pstree -up $(cat /var/run/sshd.pid )|\
perl -ne '@a = ($_ =~ m/(\d+)/g); print join("\n", @a)."\n"'
/tmp/listapid.txt
// buscar usuarios (salvo root)
# ps -ho user,tty $(cat /tmp/listapid.txt) | grep -v ^root
# ps -ho user,tty $(cat /tmp/listapid.txt) | grep -v ^root \
| awk '{print $1}' | uniq > /tmp/listausuarios.txt

interessante.. me salvaste unas cuantas neuronas !! :D

[...]

4to: mata los procesos (deberias regenerar el /tmp/listapid.txt)

// kill por favor de los procesos
# for i in $(cat /tmp/listapid.txt); do kill -HUP $i; done
# sleep 60

he probado el -HUP y realmente desconecta a los usuarios remotos..
pero la verdad es que en este caso no entiendo por que se usa el HUP.

De signal(7):

SIGHUP        1       Term    Hangup detected on controlling terminal
                                     or death of controlling process

Pensado en modem, le cuelgas el telefono a la conexion. (Históricamente,
precisamente esa era la acción que gatillaba un SIGHUP)

ya que siempre pense que el -HUP, serviria para hacer que un proceso
leyera sus archivos de configurarcion sin "reiniciarlo" (un reload, en
realiad).. y jamas lo utilizaria para el caso de mas arriba, pues
"pensaba" que la senal TERM seria la mas apropiada.

En varios daemons se ha reutilizado HUP para ese proposito.
Otros usan SIGUSR1/2 para lo mismo.

--
Julio Pacheco T.
Consultor Tecnológico
ProVectis S.A.
Fono: 2319910 anexo 109

Responder a