Wie führe ich Programme von einem Linux-Terminal aus aus, 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 schließe.

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

Author: Robotnik, 2010-06-19

4 answers

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 für bash lesen, die die Standard-Shell in Ubuntu ist.

Kurz gesagt: Um einen Job automatisch im Hintergrund zu starten, setzen Sie nach dem Programmaufruf

$ program &

Sie können Programme auch mit STRG beendenz und sie später in den Hintergrund stellen mit bg

$ program
^Z
$ bg

Um sie wieder im Vordergrund laufen zu lassen, benutze fg.

 66
Author: Benjamin Bannier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-19 17:10:22

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 abschließenden kaufmännischen und starten.

 2
Author: Gemtastic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-12-14 15:40:47

Wenn die Jobsteuerung nicht genau das ist, was Sie wollen, schauen Sie in Bildschirm.

Der Bildschirm

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

Dies macht es einfach, von einer Aufgabe zur anderen zu wechseln, wie z erstellen eines neuen Terminals innerhalb des Bildschirms, um eine Manpage zu lesen-ohne Ihren Platz an anderer Stelle zu verlieren-hin und her usw.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-19 20:14:49

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

$ <YOUR-PROGRAM> &
^c
 0
Author: Marcelo Gumiero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-12 13:30:19