web-dev-qa-db-fra.com

tuer une session d'écran

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"

55
JohnMerlino

vous devez d’abord vous attacher à la session écran
screen -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

65
Jacob Minshall

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
40
shgnInc

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 
8
user324207

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.

7
Brian Thomas

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.)

2
Mikkel

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é que
ctrl + 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.

1
lizp

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] ou
Sudo kill [sessionId]
Vous pouvez tuer l’écran même s’il est connecté à une autre fenêtre de terminal.

1
Siddhant

Appuyez simplement sur Ctrl+D et c'est terminé.

0
amin