it-swarm.com.de

Wie führe ich einen Befehl auf dem Bildschirm aus und löse ihn?

Wie kann ich den Bildschirm dazu bringen, einen Befehl auszuführen und dann zu trennen (dh automatisch in einem einzelnen Skript ohne weitere Eingabe, nachdem das Skript anfänglich gestartet wurde)? z.B. Ich führe myscript.sh aus und es startet automatisch eine Bildschirmsitzung, führt einen Befehl aus und trennt sich dann.

68
darkfeline

Das ist ganz einfach:

screen -d -m yourcommand
102
Alan Curry

Um einen einzelnen Befehl auf dem Bildschirm auszuführen und die Verbindung zu trennen, können Sie versuchen:

screen -dm sleep 10

Versuchen Sie Folgendes, um mehrere Befehle auszuführen:

screen -dm bash -c "sleep 10; myscript.sh"

Bitte beachten Sie, dass beim Beenden eines Programms der Bildschirm (standardmäßig) das Fenster schließt, in dem sich das Programm befindet.

Wenn Sie nicht möchten, dass Ihre Sitzung nach Abschluss des Skripts beendet wird, fügen Sie am Ende exec sh hinzu, z.

screen -dm bash -c 'sleep 5; exec sh'

Um alle Ihre Sitzungen aufzulisten, versuchen Sie:

screen -list

Verwandte Themen: Unix-Bildschirm starten, Befehl ausführen, Trennen .

42
kenorb

Um eine neue Sitzung im Hintergrund mit dem Namen 'schläfrig' zu starten

screen -S sleepy -dm sleep 60

Um "schläfrige" Sitzung zu töten

screen -S sleepy -X quit      
15
Michal Zmuda
screen -dmS screen_session_name bash -c 'echo "doing stuff"; exec bash'
3
tkjef