2009-10-02 13 views
8

Wenn ein Skript, das ich auf einem Bildschirm gestartet habe, beendet ist, kann ich ihm sagen, dass es den aktuellen Bildschirm schließen soll? Wenn ja wie? Ich weiß, ich kann "Strg + A" dann k, dann y. Um es zu töten, aber ich bin nicht dort, um diese Knöpfe auszustellen. Und ich habe versucht, "exit" am Ende des Skripts hinzufügen, die es nicht zu schließen scheint Ether.Verlassen eines Bildschirms, nachdem ein Skript beendet wurde

Ich habe auch ein Skript, das automatisch ein anderes Skript in einem Bildschirm startet, scheint dies zu funktionieren, aber ich bin nicht 100% sicher, dass ich die ganze Syntax richtig?

screen -dm -S "script0$scriptID"; sleep 1; screen -S "fscript0$scriptID" -X screen ./script.sh "$input1" "$input2" 

Danke jede Hilfe.

Antwort

7

beenden Mit diesem Befehl wird die aktuelle Sitzung von screen verursachen:

screen -X quit 

Die Syntax des Befehls in Ihrer zweiten Frage an mich OK aussieht. Kannst du genauer sagen, wo du denkst, dass es ein Problem geben könnte?

+0

Danke, scheint dies den Trick zu tun. Ich weiß nicht wirklich, wo das Problem ist, es schien nur ein bisschen ineffizient, wie ich es tat. – Mint

1

Manchmal ist ein hartnäckiger Skript öffnet einen Bildschirm hält, kann durch Senden eine Abbruchtastenfolge getötet werden:

screen -X -S "script0$scriptID" stuff "^C"