GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie stoppe ich einen Bildschirmprozess unter Linux?

Die vorherigen Antworten haben bei mir auf einem Winputty-Terminal und einer Amazon-SSH-Serververbindung nicht funktioniert. Aber diese funktioniert:

screen -S yourscreentitlehere -X stuff $'\003'

Referenzen:

  • Senden von Strg-C an eine bestimmte Bildschirmsitzung
  • $'\003' ist Strg+C http://donsnotes.com/tech/charsets/ascii.html
  • Zeug ist https://www.gnu.org/software/screen/manual/screen.html#Paste

Ich habe dies verwendet, um Hunderte von fehlerhaften Bildschirmsitzungen zu beenden, die durch einen fehlerhaften Befehl erstellt wurden:

for s in $(screen -ls|grep -o -P "1\d+.tty"); do screen -X -S $s quit; done;

wo:die grep -o -P "1\d+.tty" ist der Befehl zum Abrufen von Sitzungsnamen mit Perl-ähnlicher Namensregex "1\d+.tty" die alle Sitzungen erfasst, die mit der Nummer 1 beginnen , hat einige andere Nummern (\d ) und endet mit .tty

Warnung :Sie sollten zuerst mit diesem Befehl testen, um zu sehen, ob Sie die genaue Liste der gewünschten Sitzungen erhalten, bevor Sie den obigen Befehl anwenden. Dies soll verhindern, dass unerwünschte Sitzungen beendet werden:

for s in $(screen -ls|grep -o -P "1\d+.tty"); do echo $s; done;

Ich immer zu diesem echo test wann immer die Liste in for Schleife ist nicht klar, zum Beispiel die durch den Unterbefehl in $() erzeugte Erweiterung.


Es gibt ein paar 'Bildschirm'-Möglichkeiten, um eine bestimmte Bildschirmsitzung von der Befehlszeile aus (nicht interaktiv) zu beenden.

1) Senden Sie einen 'Quit'-Befehl:

screen -X -S "sessionname" quit

2) Senden Sie ein Strg-C an eine Bildschirmsitzung, auf der ein Skript ausgeführt wird:

screen -X -S "sessionname" stuff "^C"

In beiden Fällen müssten Sie 'screen -ls' verwenden, um den Sitzungsnamen der Bildschirmsitzung zu finden, die Sie beenden möchten ... wenn nur eine Bildschirmsitzung ausgeführt wird, müssen Sie das -S nicht angeben " Sitzungsname"-Parameter.


STRG+a und dann 'k' beendet eine Bildschirmsitzung.


Linux
  1. So beenden Sie einen Zombie-Prozess unter Linux

  2. So stoppen Sie einen Prozess in MySQL

  3. So begrenzen Sie die CPU-Auslastung eines Prozesses in Linux

  4. So installieren Sie vtop unter Linux

  5. So verwenden Sie den Linux-Bildschirmbefehl

So verwenden Sie den Linux-Bildschirm

So zeichnen Sie Ihre Terminalsitzung unter Linux auf

So beenden Sie Zombie-Prozesse in Linux

So überprüfen Sie, ob Sie sich in einer Bildschirmsitzung befinden oder nicht in Linux

So starten Sie die Bildschirmsitzung unter Linux beim Anmelden automatisch

Wie man einen Prozess unter Linux beendet