Ich versuche, eine Bildschirmsitzung zu beenden. Ich habe viele andere verwandte Fragen bemerkt, aber keine dieser Antworten funktioniert für mich. Ich versuche folgende Sitzung zu beenden:
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
Jetzt bin ich in der Sitzung. Nach der Dokumentation:
http://www.gnu.org/software/screen/manual/screen.html#Quit
Ich soll "control a" und dann "control \" drücken. Ich mache das und nichts passiert.
Eine andere Lösung soll Ctrl+ drücken aund Folgendes eingeben: quit. Aber auch hier macht es nichts. Tatsächlich passiert nach dem Drücken von control+ aabsolut nichts außer der Meldung "No Other Window" (Kein anderes Fenster).
gnu-screen
JohnMerlino
quelle
quelle
ps aux | grep "SCREEN" | awk '{print $2}' | xargs kill
screen -r porkypig
oder tunscreen -r 23520
, anstatt die vollständige Zeichenfolge einschließen zu müssen. Bildschirmnamen sollen die Dinge einfacher machen, nicht komplizierter.Antworten:
Zunächst müssen Sie die Bildschirmsitzung
screen -r 23520
wie gewohnt erneut verbinden. Drücken Sie dann ctrl+ aund dann ein Großbuchstaben Kund drücken ySie, wenn Sie gefragt werden, ob Sie die Sitzung wirklich beenden möchtenquelle
Sie können diesen Bildschirm schließen, ohne ihn anzuhängen. Finden Sie zuerst die Sitzung:
und dann kündige es:
(-X = Befehl ausführen, -S Sitzungs-PID, auf der ausgeführt werden soll)
[AKTUALISIEREN]
Beispiel:
quelle
Dadurch werden alle getrennten Bildschirme abgebrochen:
Dadurch werden alle angeschlossenen oder getrennten Bildschirme abgebrochen
quelle
Lassen Sie uns also mit all diesen offiziellen Vorschlägen etwas einfacheres, ebenso effektives und geradlinigeres anstreben.
pkill screen
Wer möchte einen unbekannten und nicht benötigten Bildschirm aufrufen, um ein paar Befehle einzugeben, an die sich die meisten vielleicht kaum erinnern? Dies vermeidet, überhaupt darauf einzugehen, und tötet es sofort.
Plus, wenn Sie mehr als eine haben, wird dies sie alle auf einen Schlag nehmen.
quelle
Beim Aktualisieren des Bildschirms ist dieses Problem aufgetreten. Der
screen
Befehl blieb hängen, wenn versucht wurde, die Sitzung erneut zuzuordnen, unabhängig davon, wie viele-D
oder wie viele-R
dem Befehl hinzugefügt wurden.screen -ls
Stellt jedoch bequem die PID der Sitzung bereit, sodass Sie wie folgt eingreifen können:(Dies ähnelt der Antwort von Brian Thomas, aber er beendet alle laufenden Bildschirmsitzungen. Dies ist möglicherweise nicht das, was Sie möchten, wenn Sie mehrere Bildschirme geöffnet haben, aber nur einen, der sich schlecht benimmt.)
quelle
Wie Sie wollte ich meine Bildschirmsitzung beenden und fand die Dokumentation nicht hilfreich. Überzeugt, dass es eine Tastenkombination geben muss , fand ich, dass das
ctrl + a
dann\
funktioniert
Ich erhalte dann die Aufforderung: "Beende wirklich alle deine Fenster [y \ n] und töte sie"
Ich bin nicht sicher, warum die Dokumentation
ctrl + a
dann sagtctrl + \
. Das bringt mir nichts.quelle
Sie finden die Prozess-ID des angehängten Ausführungsbildschirms. Ich habe es genauso gefunden wie die Sitzungs-ID, die Sie mit dem Befehl erhalten:
screen -ls
Und Sie können den folgenden Befehl verwenden, um diesen Prozess abzubrechen:
kill [sessionId]
odersudo kill [sessionId]
Sie können den Bildschirm auch dann abbrechen, wenn er in einem anderen Terminalfenster angehängt ist.
quelle
Drücken Sie Strg + d, um das Bildschirmfenster zu schließen. Wiederholen Sie diesen Vorgang, bis Sie alle Bildschirmfenster geschlossen haben. Sobald Sie alle Windows-Bildschirm ausgeführt haben, wird die Sitzung beendet und beendet. Kürzeste Lösung, wenn Sie nicht viele Fenster haben
quelle