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