Wie kann ich die Anwendung nach dem Schließen des Terminals weiter ausführen?

17

Ich bin neu in Ubuntu. Ich habe Sublime Text verwendet. Ich habe festgestellt, dass nach dem Öffnen von Sublime Text über das Terminal die Anwendung weiter ausgeführt wird, wenn ich das Terminal schließe. Das gleiche gilt nicht für andere Anwendungen wie geany.

Nachdem ich die Anwendung vom Terminal aus geöffnet habe, wird beim Schließen des Terminals auch die Anwendung geschlossen. Ich habe es &exitgerne versucht geany &exit. Aber das ist nicht was ich suche.

Wie kann ich geanyweiterlaufen, auch wenn ich es schließe?

eddard.stark
quelle
1
Sie können hier sehen, unix.stackexchange.com/questions/4004/…
Abdelhak Bougouffa
nohup geany & disown funktioniert bei mir am besten
eddard.stark

Antworten:

25

Geben Sie in einem Terminalfenster Folgendes ein

nohup geany > /dev/null

oder

nohup geany >/dev/null &

nohupErmöglicht die Ausführung der Anwendung und ist immun gegen Abstürze. Das Schließen des Terminalfensters hat also keine Auswirkungen auf die Ausführung der Anwendung. Durch Hinzufügen >/dev/nullvon zum Befehl wird verhindert, dass nohup.outin jedem Verzeichnis, in dem die Anwendung ausgeführt wird, ein Verzeichnis erstellt wird.

Von der Manpage:

NAME
       nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
       nohup COMMAND [ARG]...
       nohup OPTION
Terrance
quelle
@ eddard.stark Gern geschehen! =)
Terrance
2
Vielleicht nohup geany > /dev/nulloder nohup geany > /dev/null &, um die Erstellung einer nohup.outDatei im aktuellen Arbeitsverzeichnis jedes Mal zu verhindern, wenn der Befehl ausgeführt wird
kos
Kein Problem, schon aufgewertet (übrigens im Allgemeinen nicht einmal die Mühe machen, mich in der Post für eine solche kleine Verbesserung gut zu schreiben!)
Kos
1
@kos OK, ich habe es entfernt. Aber nochmals vielen Dank für die Erinnerung. Manchmal vergesse ich einige der einfachen Dinge, um die Erstellung der Protokollausgabe zu stoppen. Ich freue mich sehr auf gute Vorschläge von anderen. =)
Terrance
1
Oft ist die Ausgabe des Laufs hilfreich / wichtig, um den Status zu überwachen oder zu verfolgen, was getan wurde. In diesem Fall möchten Sie etwas wie verwenden nohup run1_cmd.sh > run1.out .
Steven C. Howell
10

Alternativ können nohupSie die eingebaute Shell verwenden disown. disownEntfernt Jobs aus der Jobliste und wird, wenn die Shell vorhanden SIGHUPist, nicht an diesen Prozess gesendet.

geany &
disown
exit
mniip
quelle
2

Sie können exec geany & exitden Befehl exec und das kaufmännische Und verwenden, wenn Sie kein pkexec geany & exitRoot-Recht benötigen und wenn Sie Root-Rechte benötigen.

Erkin Alp Güney
quelle