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!

Poul
quelle
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.
Zac Thompson
quelle
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)

Roy Rico
quelle
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