it-swarm.com.de

Wie kann ich Programme von einem Linux-Terminal ausführen, ohne das Terminal zu blockieren?

Wenn ich ein Programm von einem Terminal aus starte, kann ich diese Terminalinstanz erst wieder verwenden, wenn ich das Programm beende.

Gibt es eine Möglichkeit, ein Programm/eine Anwendung von einem Terminal aus auszuführen, ohne das Terminal zu blockieren, bis das Programm endet?

33
ueaiox

Sie suchen nach Job Control , das von den meisten Shells unterstützt wird. Siehe dieser Artikel für eine Einführung. Irgendwann möchten Sie vielleicht auch die offizielle Dokumentation for bash lesen, die die Standard-Shell in Ubuntu ist.

Kurzum: Um einen Job automatisch im Hintergrund zu starten, geben Sie nach dem Programmaufruf einen & ein

$ program &

Sie können Programme auch mit beenden CTRLz und später mit bg in den Hintergrund stellen

$ program
^Z
$ bg

Um sie wieder in den Vordergrund zu bringen, verwenden Sie fg.

60

In Ubuntu 16.10 kann ich das in einer anderen Antwort erwähnte Strg + Z-Ding nicht zum Laufen bringen, aber

program &
^C

Funktioniert für mich, mit anderen Worten, ctrl + c, nachdem Sie das Programm mit einem nachgestellten Et-Zeichen gestartet haben.

1
Gemtastic

Wenn die Auftragssteuerung nicht genau Ihren Wünschen entspricht, schauen Sie in den Bildschirm .

Der Bildschirm steuert mehrere virtuelle Terminals, sodass Sie mehrere Programme ausführen können, ohne dass diese miteinander interagieren. Beispielsweise können Sie mocp (einen Musikplayer), aptitude (einen Paketmanager) und vim (einen Texteditor) gleichzeitig ausführen, obwohl es sich bei allen Programmen um interaktive Programme handelt, die das Terminal so behandeln, als hätten sie nur Zugriff.

Dies macht es einfach, von einer Aufgabe zur nächsten zu wechseln, z. B. ein neues Terminal innerhalb des Bildschirms zu erstellen, um eine Manpage zu lesen - ohne Ihren Platz an einer anderen Stelle zu verlieren - hin und her zu blättern usw.

1
Roger Pate