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?

Respuestas:


68

esta es una respuesta

who -u

que te dan el PID

Entonces puedes matar la sesión del usuario.

kill "pid"

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)


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)


1
¿Su imagen no muestra un número de cuatro dígitos?
Dronz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.