Sie müssen den Befehl übergeben, um in der Bildschirmsitzung ausgeführt zu werden. Sie können dies tun, indem Sie den Befehl direkt übergeben oder ein Skript aufrufen, das den gewünschten Befehl ausführt.
screen -S test "python3 test.py"
Wenn Sie diese Methode verwenden, beachten Sie, dass sich command ( python
) und das an it ( test.py
) übergebene Argument beide innerhalb der Sprachmarken ".." befinden. Dies kann kompliziert werden, wenn Sie Argumente übergeben, die spezifisch formatierte Sprachmarken erfordern Vielleicht ist es einfacher, die untenstehende Methode zu verwenden.
screen -S test /home/user/test.sh
wo sich test.sh in / home / user / befindet, ist ausführbar ( chmod +x ./test.py
) und enthält:
#!/bin/sh python3 test.py
Der zweite Vorteil besteht darin, dass Sie im Skript so viele Befehle haben können, wie Sie möchten, sie werden nacheinander ausgeführt.
Sie können mehrere Befehle gleichzeitig ausführen lassen, indem Sie die Task im Hintergrund ausführen:
#!/bin/sh # All 3 will run at the same time python3 test.py & python3 test1.py & python3 test2.py &
Einige weitere clevere Tricks finden Sie zu einer ähnlichen Frage in SF . Als letzte Sache ist anzumerken, dass bei ALLEN Methoden die Bildschirmsitzung selbst geschlossen wird, sobald Ihr Programm / Skript beendet ist. Wenn Sie nicht möchten, dass dies ausgeführt wird, möchten Sie eine Bash-Sitzung ausführen, die das Skript aufruft und anschließend zur Bash-Sitzung zurückkehrt - so screen -S test "someCommand; bash"
.