Lassen Sie ein Programm im Terminal laufen

8

Ich nohupkenne also Befehle und füge &sie hinzu, um sicherzustellen, dass sie in den Hintergrund treten.

Wenn ich jedoch eine grafische Anwendung ausführe, scheint manchmal die Verwendung von beidem den Job zu erledigen. Was kann ich einem Programm / Befehl voranstellen, um sicherzustellen, dass es nach dem Schließen des Terminals weiter ausgeführt wird?

Industriell
quelle

Antworten:

9

Wenn die Anwendung beim Schließen des Terminalfensters weiter ausgeführt werden soll, gehen Sie wie folgt vor:

nohup chromium-browser &

Sie brauchen sowohl die nohupals auch die &.

  • nohup bedeutet, dass dieser Prozess / Befehl nach dem Schließen der Shell ausgeführt wird.
  • & bedeutet, dass dieser Prozess / Befehl in den Hintergrund gestellt wird, damit die Shell nicht blockiert wird (sodass Sie ihn für etwas anderes verwenden können.
Kennzeichen
quelle
5

Wenn Sie ein Programm im Hintergrund über den Operator & ausführen, ist es weiterhin an Ihre Sitzung angehängt und kann mit fg, bg, jobs und disown gesteuert werden.

Ich hatte auch einige Probleme mit nohup, aber Verleugnung könnte das sein, wonach Sie suchen.

Wenn Sie ein Programm im Hintergrund ausführen, hat es eine Job-ID:

gedit &
[1] 5647

Diese Zahl in Klammern [] ist die interessante. Um es von Ihrer Sitzung zu entfernen, führen Sie es disown %nmit dieser Nummer aus. Für das obige Beispiel:

disown %1

Jetzt können Sie das Terminal sicher verlassen und der Vorgang wird nicht beendet.

Axel
quelle
2

Für grafische Anwendungen sollte es funktionieren, einfach so etwas zu tun (zumindest für mich).

chromium-browser&

Für Terminalanwendungen sollten Sie so etwas wie screenoder verwenden tmux.

jrg
quelle
-1, da dies nicht funktioniert, wenn die Anforderung nach dem Schließen des Terminals weiter ausgeführt werden muss. +1 für den Vorschlag von screen / tmux.
Gertvdijk
@gertvdijk interessant, für GUI-Anwendungen funktioniert es für mich. Gerade mit Bash getestet. Ich hatte Fälle, in denen sich zsh beschweren wird, wenn ich das tue und dann versuche zu
beenden
Ich habe Konsole verwendet und Kate mit &angehängter Konsole ausgeführt . Kate wird anschließend geschlossen, nachdem Konsole geschlossen wurde.
Gertvdijk
-1

Schließen Sie das Terminal, von dem aus Sie das Grafikprogramm gestartet haben, mit

exit
Benutzer unbekannt
quelle
Ein Kommentar zum Downvote könnte hilfreich sein.
Benutzer unbekannt