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


34

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?

Antworten:


62

Sie suchen nach Job-Kontrolle, die von den meisten Shells unterstützt wird. In diesem Artikel finden Sie eine Einführung. Irgendwann möchten Sie vielleicht auch die offizielle Dokumentation zu bash lesen, die die Standard-Shell in Ubuntu ist.

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

$ program &

Sie können mit auch Programme stoppen CTRLzund später mit in den Hintergrund stellenbg

$ program
^Z
$ bg

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


Das Herausfinden, dass es offizielle Unterlagen für Bash gibt, war eine große sekundäre Hilfe, die ich von dieser Antwort erhielt, danke!
Addem

1

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

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 + cnachdem Sie das Programm mit einem nachgestellten Et-Zeichen gestartet haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.