Wie töte ich einen Bildschirm, wenn ich den Namen kenne?


14

Ich habe einen Bildschirm mit dem Namen 'foo', auf dem ich den Befehl verwendet habe

screen -S foo -d -m  my_command_goes_here.

Ich möchte dies in cron setzen und es jede Nacht neu starten, indem ich den Bildschirm ausschalte. Der Grund, warum ich einen Bildschirm verwende, ist, dass mein Befehl mehrere andere Prozesse startet und dadurch sichergestellt wird, dass alle beendet werden.

Also ... was ist der Befehl, um sceen 'foo' zu töten?

Vielen Dank!


1
Welche Befehle führen Sie aus, für deren Beenden der Bildschirm erforderlich ist?
Darren Hall

Antworten:


14

screen -S foo -X quit

Von der Manpage:

-X  Send the specified command to a running screen session.
...
quit    Kill all windows and terminate screen.

2

Versuchen Sie Folgendes:

Bildschirm -S foo -X töten

Ich wäre vorsichtig, je nachdem, was Sie ausführen und in welchem ​​Zustand es sich befindet, kann dies die auf dem Bildschirm ausgeführten Prozesse möglicherweise nicht beenden und möglicherweise zu einer Instabilität des Dateisystems führen, wenn Dateien geöffnet sind (ich weiß es nicht genau nehme ich nur an)


Leider hat das nicht funktioniert.
Poul

arbeitete für mich, war auf Ubuntu. Aber ich hatte nur ein Fenster im Bildschirm geöffnet. Hätte mehr testen sollen.
Roy Rico

2
Der einzige Grund, warum ich dies nicht sehen kann, ist, wenn Sie mehr als eine Bildschirmsitzung benannt haben foo, verwenden Sie diese Option , screen -listum eine Liste der aktuell ausgeführten Sitzungen abzurufen.
Darren Hall
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.