Je souhaite déconnecter mon Mac OS X de la ligne de commande. Ma version OS X est 10.9. J'ai essayé la commande pkill -KILL -u uid
, mais cette commande n'a pas fonctionné. Existe-t-il une commande qui peut être utilisée pour déconnecter un utilisateur du système en utilisant uniquement la ligne de commande, pas AppleScript ?
mavericks
script
user-account
prateeak ojha
la source
la source
Réponses:
sudo launchctl bootout gui/$(id -u <username>)
ou
sudo launchctl bootout user/$(id -u <username>)
Remplacez le nom d'utilisateur par le nom d'utilisateur de l'utilisateur cible ou remplacez le sous-shell entier par l'uid de l'utilisateur. Cela indique à launchctl de démonter la session de connexion des utilisateurs (gui fait spécifiquement référence à la session de connexion temporaire de l'utilisateur, l'utilisateur spécifie les processus d'arrière-plan des utilisateurs).
Vous pouvez vous déconnecter sans le
sudo
tester.Notez que cela fonctionnera UNIQUEMENT sur macOS 10.11.x ou plus récent (voir
launchctl help
pour plus)la source
Pour vous déconnecter purement du terminal (ou d'une session ssh distante), il suffit de tuer le processus loginwindow:
Vous pouvez avoir de la fantaisie et spécifier l'utilisateur si plusieurs utilisateurs ont un processus de fenêtre de connexion, mais il s'agit d'un seul coup facile, pas de moyen rapide de mettre fin à la session graphique d'un utilisateur.
la source
Cela avait fonctionné pour moi, par le passé:
Déconnexion (avec confirmation)
Déconnectez-vous directement (pas de confirmation)
ou
De cette façon, toute application en cours d'exécution sera remarquée et pourra se terminer de manière sécurisée.
la source
Si vous avez plusieurs utilisateurs ....
Trouvez l'ID de processus avec:
Tuez ensuite ce processus et vous avez déconnecté cette session. Mais il reste beaucoup de processus.
Vérifiez avec
pstree
afin que vous sachiez quel processus mettre fin.la source
Cela fait l'affaire pour moi.
Pour obtenir des privilèges root et l'invite #, supprimez les processus.
Et si tout n'est pas parti. Nuke em! Avertissement obligatoire - tuer des choses en tant que root n'a pas d'annulation et non "êtes-vous sûr de vouloir interrompre ce processus sans enregistrer vos fichiers, y compris les bases de données critiques du système qui pourraient rendre la machine non amorçable en de rares occasions". tapez les avertissements.
la source
Un bon utilitaire à ajouter à votre Terminal est la commande "logout", à utiliser comme:
Voici comment:
Modifiez votre .bash_profile
nano ~/.bash_profile
Ajoutez cette ligne:
logout() {sudo launchctl bootout user/$(id -u "$1")}
Enregistrez le fichier en appuyant sur
ctrl+x
Redémarrez le terminal
Vous êtes prêt à partir ;)
la source
si vous êtes connecté avec ssh à un ordinateur distant, vous pouvez vous déconnecter en tapant simplement 'exit':
la source