Cerrar sesión en la línea de comandos de otros usuarios

67

A veces, cuando hay demasiados usuarios conectados, puede hacer que mi computadora se vuelva muy lenta y lenta debido a la baja cantidad de RAM disponible. Me gustaría poder desconectar rápidamente a los otros usuarios de la línea de comandos en lugar de cambiar manualmente a cada usuario y cerrar la sesión.

es posible?

Isaias
fuente

Respuestas:

68

esta es una respuesta

who -u

que te dan el PID

Entonces puedes matar la sesión del usuario.

kill "pid"
hhlp
fuente
Esto funciona pero tiene algunos efectos secundarios extraños.
Isaías el
@DoR ... ¿cuáles son ...?
Oli
44
@Oli Como GDM reiniciando e intentando cambiar a un usuario que maté no funciona.
Isaías el
1
@AlvinRow Si ejecuta ps auxf, notará (la columna de la izquierda tiene un nombre de usuario efectivo) que este método no elimina todos los procesos que ejecuta el usuario actual (por lo que probablemente no haya cerrado sesión). El método de @precise parece atender este problema, aunque no me siento cómodo con el envío SIGKILL.
Dor
Me sorprende que no haya algo así, por shutdownlo que puede dar una advertencia (permitiendo que se guarde el trabajo) antes de cerrar la sesión por la fuerza. Opcionalmente, solo cambiaría al inicio de sesión como si cambiara sesiones, dejando la sesión de usuario ejecutándose en segundo plano.
pbhj
28

Puede usar whopara verificar qué usuarios están conectados:

who

Puede cerrar la sesión del usuario enviando la KILLseñal al proceso de usuario con:

sudo pkill -KILL -u <username>

(que es lo mismo que sudo pkill -9 -u <username>)

ejemplo:

sudo pkill -9 -u guest-2Rw4Lq

(para matar a un usuario de sesión invitado llamado guest-2Rw4Lq)

preciso
fuente
Esto funcionó mejor para mí. El simple hecho de ejecutar kill "pid"dejó un montón de procesos por parte del usuario que aún se ejecuta, donde esto los mató a todos.
thebaer
1
¿Por qué SIGKILLy no por defecto SIGTERM? El SIGKILLno es saludable ..
Dor
sudo pkill -KILL -u <username>para mí me cambió a la primera sesión de consola; Pensé que mató mi sesión actual, pero ctrl + alt + F7 me trajo de vuelta a la sesión gráfica actual.
pbhj
3
who -u


> adam     ttys000  Aug  4 09:22   .       91228 

entonces

sudo kill 'PID number'
sudo kill 91228

PID (ID de proceso) es el número de cuatro o cinco dígitos al final de la lectura del usuario (91228)

adm
fuente
1
¿Su imagen no muestra un número de cuatro dígitos?
Dronz