Ich habe von irgendwoher gelernt, dass ein abgetrennter Bildschirm von getötet werden kann
screen -X -S [session # you want to kill] kill
woher [Sitzung #, die Sie töten möchten] kann abgerufen werden
screen -ls
Das funktioniert aber nicht. Stimmt etwas nicht? Was ist der richtige Weg?
linux
kill
gnu-screen
Tim
quelle
quelle
screen -S sessionname -p 0 -X quit
Antworten:
"kill" beendet nur ein Bildschirmfenster. Verwenden Sie, um die gesamte Sitzung zu "beenden"
quit
.Beispiel
Verwenden Sie für tote Sitzungen: $ screen -wipe
quelle
exit
funktioniert, muss aber in jeden geöffneten Bildschirm eingegeben werden.quit
funktioniert nicht einmalscreen -X quit
auf einem beliebigen Terminal eingeht, werden alle aktiven Sitzungen beendetSie können eine getrennte Sitzung beenden, die innerhalb der Bildschirmsitzung nicht reagiert, indem Sie die folgenden Schritte ausführen.
Geben Sie ein
screen -list
, um die getrennte Bildschirmsitzung zu identifizieren.Hinweis:
20751.Melvin_Peter_V42
ist Ihre Sitzungs-ID.Werden Sie an die getrennte Bildschirmsitzung angehängt
Sobald Sie mit der Sitzung verbunden sind, drücken Sie Ctrl+ Aund geben Sie ein
:quit
quelle
quit
und:quit
führen zucommand not found
auf meinem Remote - Linux - Server (möglicherweise Unterschiede zwischen den Versionen des Betriebssystems oder Bildschirm sind schuld)exit
funktioniert auchListenbildschirme:
Ausgabe:
Bildschirm-Sitzung beenden:
quelle
Es ist einfacher, eine Sitzung zu beenden, wenn ein aussagekräftiger Name angegeben wird:
quelle
screen -S
und nichtscreen -r
?Sie können einfach zu dem Ort gehen, an dem sich die Bildschirmsitzung befindet, und Folgendes ausführen:
was in ... resultiert
Und entfernen Sie es einfach:
Das
uscreens
Verzeichnis enthält die26727.pts-0.devxxx
Datei nicht mehr. Geben Sie jetzt Folgendes ein:screen -ls
und du solltest bekommen:
quelle
ps aux | grep screen
fand die pid und ich gab eine auskill
, um sie zu entfernen. Abhängig davon, was auf Ihrem Bildschirm ausgeführt wurde, müssen möglicherweise auch temporäre Dateien und Sperren bereinigt werden.Sollte alle Dead Screen-Sitzungen reinigen .
quelle
füge dies zu deinem hinzu
~/.bashrc
:Verwenden Sie dann,
cleanscreen
um alle Bildschirmsitzungen zu bereinigen.quelle
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
Für mich ein einfaches
funktioniert. Dies erfolgt innerhalb der Bildschirmsitzung.
quelle
:quit
Fügen Sie diese Funktion in Ihr .bash_profile ein, um alle getrennten Bildschirmsitzungen zu beenden:
Um es auszuführen, rufen Sie an
killd
quelle
quelle
Alternativ müssen Sie während Ihrer Bildschirmsitzung nur exit eingeben
Dadurch wird die vom Bildschirm initiierte Shell-Sitzung beendet, wodurch die Bildschirmsitzung, in der Sie sich befinden, effektiv beendet wird.
Sie müssen sich nicht um die ID der Bildschirmsitzung usw. kümmern.
quelle