864 Stimmen

Getrennte Bildschirmsitzung beenden

Ich habe irgendwo gelernt, dass ein abgetrennter Bildschirm getötet werden kann durch

screen -X -S [session # you want to kill] kill

wo [Sitzungsnummer, die Sie löschen wollen] abgerufen werden kann

screen -ls

Aber das funktioniert nicht. Ist irgendetwas falsch? Was ist der richtige Weg?

25 Stimmen

"irgendwo" ist nicht immer eine gute Informationsquelle. Versuchen Sie "man screen".

27 Stimmen

Der richtige Befehl lautet screen -S sessionname -p 0 -X quit

0 Stimmen

Killall -# screen [# = Anzahl der Bildschirme, die gelöscht werden sollen]

1266voto

innaM Punkte 46916

"kill" wird nur ein Bildschirmfenster löschen. Um die gesamte Sitzung zu "beenden", verwenden Sie quit .

Beispiel

$ screen -X -S [session # you want to kill] quit

Für tote Sitzungen verwenden Sie: $ screen -wipe

112 Stimmen

In ubuntu 'exit' (ohne Anführungszeichen) eingeben :P

16 Stimmen

exit funktioniert, muss aber in jeden geöffneten Bildschirm eingegeben werden. quit funktioniert nicht einmal

4 Stimmen

@kapad quit funktioniert tatsächlich, wenn Sie es inline schreiben -X -S pid/sockname quit

497voto

Melvin Peter Punkte 4999

Sie können eine abgetrennte Sitzung, die innerhalb der Bildschirmsitzung nicht reagiert, wie folgt beenden.

  1. Typ screen -list um die abgetrennte Bildschirmsitzung zu identifizieren.

    ~$ screen -list  
        There are screens on:  
             20751.Melvin\_Peter\_V42  (Detached)  

    20751.Melvin_Peter_V42 ist Ihre Sitzungsnummer.

  2. Mit der abgetrennten Bildschirmsitzung verbunden werden

    screen -r 20751.Melvin\_Peter\_V42
  3. Sobald Sie mit der Sitzung verbunden sind, drücken Sie Ctrl + A dann tippen Sie :quit

20 Stimmen

Sie können einfach screen -r 20751 ohne den vollständigen Namen verwenden

53 Stimmen

Oder: Strg + a, k

0 Stimmen

Der Kommentar von @laffuste hat bei mir funktioniert, aber quit y :quit führen zu command not found auf meinem entfernten Linux-Server (vielleicht sind Unterschiede zwischen den Versionen des Betriebssystems oder des Bildschirms daran schuld)

145voto

Collin Thomas Punkte 1405

Bildschirme auflisten:

screen -list

Ausgabe:

There is a screen on:
23536.pts-0.wdzee       (10/04/2012 08:40:45 AM)        (Detached)
1 Socket in /var/run/screen/S-root.

Bildschirmsitzung beenden:

screen -S 23536 -X quit

1 Stimmen

'screen -ls' funktioniert auch ;)

113voto

Hitman_99 Punkte 2252

Es ist einfacher, eine Sitzung zu beenden, wenn ein sinnvoller Name angegeben wird:

//Creation:
screen -S some_name proc
// Kill detached session
screen -S some_name -X quit

0 Stimmen

Warum screen -S und nicht screen -r ?

1 Stimmen

Bei dieser Antwort wird der Name der Sitzung verwendet, was wesentlich praktischer ist als die Suche nach der ID. Dankeschön!

43voto

rc2012 Punkte 531

Sie können einfach zu dem Ort gehen, an dem die Bildschirmsitzung untergebracht ist, und sie ausführen:

 screen -ls

was dazu führt, dass

 There is a screen on:
         26727.pts-0.devxxx      (Attached)
 1 Socket in /tmp/uscreens/S-xxx. <------ this is where the session is.

Und entfernen Sie es einfach:

  1. cd /tmp/uscreens/S-xxx
  2. ls
  3. 26727.pts-0.devxxx
  4. rm 26727.pts-0.devxxx
  5. ls

Le site uscreens Verzeichnis wird nicht die 26727.pts-0.devxxx Datei nicht mehr enthalten. Um sicherzugehen, geben Sie einfach Folgendes ein:

screen -ls

und Sie sollten es bekommen:

Keine Sockets in /tmp/uscreens/S-xxx gefunden.

4 Stimmen

Dies ist die einzige Lösung, die funktioniert, wenn der Bildschirm "feststeckt", d. h. nicht tot ist, aber nicht angeschlossen werden kann.

0 Stimmen

Das half mir, als der Bildschirm völlig blockiert war, aber ich musste auch den eigentlichen Prozess finden und beenden. ps aux | grep screen fand die pid und gab eine kill um sie zu entfernen. Je nachdem, was Sie auf Ihrem Bildschirm ausgeführt haben, müssen Sie möglicherweise auch temporäre Dateien und Sperren bereinigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X