J'ai appris quelque part qu'un écran détaché peut être tué par
screen -X -S [session # you want to kill] kill
où [session # que vous voulez tuer] peut être obtenue
screen -ls
Mais ça ne marche pas. Quelque chose ne va pas? Quelle est la bonne façon?
linux
kill
gnu-screen
Tim
la source
la source
screen -S sessionname -p 0 -X quit
Réponses:
"tuer" ne tuera qu'une seule fenêtre d'écran. Pour "tuer" la session complète, utilisez
quit
.Exemple
Pour les sessions mortes, utilisez: $ screen -wipe
la source
exit
fonctionne mais doit être tapé dans chaque écran qui a été ouvert.quit
ne fonctionne même passcreen -X quit
sur n'importe quel terminal met fin à toutes les sessions activesVous pouvez tuer une session détachée qui ne répond pas dans la session d'écran en procédant comme suit.
Tapez
screen -list
pour identifier la session d'écran détachée.Remarque:
20751.Melvin_Peter_V42
est votre identifiant de session.Attachez-vous à la session d'écran détachée
Une fois connecté à la session, appuyez sur Ctrl+ Apuis tapez
:quit
la source
quit
et:quit
conduire àcommand not found
mon serveur Linux à distance (peut - être des différences entre les versions du système d' exploitation ou de l' écran sont à blâmer)exit
fonctionne égalementÉcrans de liste:
Production:
Tuer la session d'écran:
la source
Il est plus facile de tuer une session, quand un nom significatif est donné:
la source
screen -S
et nonscreen -r
?Vous pouvez simplement vous rendre à l'endroit où la session d'écran est hébergée et exécutée:
ce qui se traduit par
Et il suffit de le retirer:
Le
uscreens
répertoire ne contiendra plus le26727.pts-0.devxxx
fichier. Maintenant, assurez-vous de taper ceci:screen -ls
et vous devriez obtenir:
la source
ps aux | grep screen
trouvé le pid et j'ai émis unkill
pour l'enlever. Selon ce que vous avez exécuté sur votre écran, vous pouvez également avoir des fichiers temporaires et des verrous à nettoyer.Devrait nettoyer toutes les sessions d'écran mort .
la source
ajoutez ceci à votre
~/.bashrc
:Ensuite, utilisez
cleanscreen
pour nettoyer toutes les sessions d'écran.la source
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
screen -ls | tail +2 | head -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit
Pour moi un simple
travaux. C'est à partir de la session d'écran.
la source
:quit
Pour tuer toutes les sessions d'écran détachées, incluez cette fonction dans votre .bash_profile:
pour l'exécuter, appelez
killd
la source
la source
Alternativement, pendant votre session écran, tout ce que vous avez à faire est de taper exit
Cela tuera la session shell lancée par l'écran, ce qui termine effectivement la session écran sur laquelle vous vous trouvez.
Pas besoin de s'embêter avec l'identifiant de session écran, etc.
la source