Déconnexion d'autres utilisateurs à partir de la ligne de commande

67

Parfois, lorsque le nombre d'utilisateurs connectés est trop important, mon ordinateur peut devenir très lent et très lent à cause de la faible quantité de mémoire RAM disponible. Je souhaite pouvoir déconnecter rapidement les autres utilisateurs de la ligne de commande au lieu de basculer manuellement dans chaque utilisateur et de les déconnecter.

Est-ce possible?

Isaïe
la source

Réponses:

68

c'est une réponse

who -u

qui vous donne le PID

Ensuite, vous pouvez tuer la session utilisateur.

kill "pid"
hhlp
la source
Cela fonctionne mais il a des effets secondaires étranges.
Isaïe
@DoR ... qui sont ..?
Oli
4
@Oli Par exemple, le redémarrage de GDM et la tentative de passer à un utilisateur que j'ai tué ne fonctionnent pas.
Isaïe
1
@AlvinRow Si vous exécutez, ps auxfvous remarquerez (la colonne la plus à gauche a un nom d'utilisateur effectif) que cette méthode ne tue pas tous les processus exécutés par l'utilisateur actuel ( vous n'êtes donc probablement pas déconnecté). La méthode de @precise semble résoudre ce problème, même si je ne me sens pas à l'aise avec l'envoi SIGKILL.
Dor
Je suis surpris qu'il n'y ait rien de tel shutdownque cela puisse donner un avertissement (permettant de sauvegarder le travail) avant de vous déconnecter de force. Cela pourrait éventuellement basculer simplement vers l'identifiant de connexion comme si vous changiez de session, laissant la session utilisateur s'exécutant en arrière-plan.
pbhj
28

Vous pouvez utiliser whopour vérifier quels utilisateurs sont connectés:

who

Vous pouvez déconnecter l'utilisateur en envoyant le KILLsignal au processus utilisateur avec:

sudo pkill -KILL -u <username>

(qui est identique à sudo pkill -9 -u <username>)

exemple:

sudo pkill -9 -u guest-2Rw4Lq

(pour tuer un utilisateur de session invité nommé guest-2Rw4Lq)

précis
la source
Cela a fonctionné mieux pour moi. En cours d’exécution, kill "pid"une multitude de processus laissés par l’utilisateur fonctionnaient toujours, ce qui les a tous tués.
thebaer
1
Pourquoi SIGKILLet pas le défaut SIGTERM? Le SIGKILLn'est pas sain ..
Dor
sudo pkill -KILL -u <username>pour moi, je suis passé à la première session de console; Je pensais que cela avait tué ma session en cours mais ctrl + alt + F7 m'a ramené à la session graphique en cours.
pbhj
3
who -u


> adam     ttys000  Aug  4 09:22   .       91228 

ensuite

sudo kill 'PID number'
sudo kill 91228

PID (Process ID) est le numéro à quatre ou cinq chiffres à la fin de la lecture par l'utilisateur (91228).

adm
la source
1
Votre image ne montre pas de numéro à quatre chiffres?
Dronz