J'essaie de tuer une session d'écran. J'ai remarqué beaucoup d'autres questions connexes, mais aucune de ces réponses ne fonctionne pour moi. J'essaie de tuer la session suivante:
screen -ls
There is a screen on:
23520.pts-6.porkypig (09/30/2013 02:49:47 PM) (Detached)
1 Socket in /var/run/screen/S-root.
screen -r 23520.pts-6.porkypig
Maintenant je suis en session. Selon la documentation:
http://www.gnu.org/software/screen/manual/screen.html#Quit
Je suis censé appuyer sur "control a" puis sur "control \". Je fais ça et rien ne se passe.
Une autre solution a dit de presser Ctrl+a et tapez: quittez. Cependant, encore une fois, cela ne fait rien. En fait, en appuyant sur control+a, absolument rien ne se passe après un message "Aucune autre fenêtre"
vous devez d’abord vous attacher à la session écranscreen -r 23520
comme vous l'avez fait. Puis appuyez ctrl + a et puis une capitale K et appuyez sur y quand il vous demande si vous voulez vraiment tuer la session
Vous pouvez quitter cet écran sans vous y attacher. Tout d'abord, retrouvez sa session:
$ screen -ls
et puis le quitter:
$ screen -XS [session # you want to quit] quit
Cela va tuer tous les écrans détachés:
écran -ls | grep détaché | coupé -d. -f1 | awk '{print $ 1}' | xargs tuer
Cela va tuer tous les écrans, attachés ou détachés
écran -ls | grep pts | coupé -d. -f1 | awk '{print $ 1}' | xargs tuer
Donc, avec toutes ces suggestions officielles, passons à quelque chose de plus simple, tout aussi efficace et de plus en plus simple.
pkill screen
Qui veut accéder à un écran inconnu et inutile pour appuyer quelques commandes dont la plupart pourraient à peine se souvenir? Cela évite d'y entrer et le tue immédiatement.
De plus, si vous en avez plus d'un, cela les prendra tous d'un coup.
J'ai rencontré ce problème lors de la mise à jour de l'écran. La commande screen
se bloquait lors de la tentative de reconnexion de la session, quel que soit le nombre -D
ou -R
que j'ai ajouté à la commande. Cependant, screen -ls
fournit commodément le pid de la session, vous permettant d'intervenir en utilisant les éléments suivants:
10:42 user ~ $ screen -ls
There is a screen on:
5730.my_screen (Detached)
1 Socket in /tmp/screens/S-user.
10:42 user ~ $ Sudo kill 5730
10:43 user ~ $ screen -ls
No Sockets found in /tmp/screens/S-user.
(Ceci est similaire à la réponse de Brian Thomas, mais sa volonté tuera toutes les sessions d'écran en cours, ce qui peut ne pas être ce que vous voulez si vous avez plusieurs écrans ouverts mais un seul se comporte mal.)
Comme vous, je voulais tuer ma session d’écran et j’ai trouvé la documentation inutile. Convaincue qu'il doit y avoir un raccourci clavier , j'ai trouvé quectrl + a
puis \
travaux
Je reçois alors l’invite: "Arrête vraiment et tue toutes tes fenêtres [y\n]"
Je ne suis pas sûr de savoir pourquoi la documentation dit ctrl + a
puis ctrl + \
. Cela ne fait rien pour moi.
Vous pouvez trouver l'ID de processus de l'écran en cours joint. Je l'ai trouvé identique à l'identifiant de session que vous pouvez obtenir par commande:screen -ls
Et vous pouvez utiliser la commande suivante pour tuer ce processus:kill [sessionId]
ouSudo kill [sessionId]
Vous pouvez tuer l’écran même s’il est connecté à une autre fenêtre de terminal.
Appuyez simplement sur Ctrl+D et c'est terminé.