Wie kann die Anwendung nach dem Schließen des Terminals weiter ausgeführt werden?

Wie kann die Anwendung nach dem Schließen des Terminals weiter ausgeführt werden?

Ich bin neu bei Ubuntu. Ich habe Sublime Text verwendet. Ich habe festgestellt, dass die Anwendung weiterläuft, wenn ich Sublime Text vom Terminal aus öffne und 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 die Anwendung auch geschlossen, wenn ich das Terminal schließe. Ich habe &exitFolgendes versucht geany &exit. Aber das ist nicht das, wonach ich suche.

Wie kann ich geanyweiterlaufen, selbst nachdem ich es geschlossen habe?

Antwort1

BEARBEITEN:Dies funktioniert möglicherweise nur bei bestimmten Terminaltypen. Am besten führen Sie disownnach dem Starten Ihrer Befehle wie unten einen weiteren Befehl aus, damit die Anwendungen nicht mehr mit dem Terminalfenster verknüpft sind.


Geben Sie in einem Terminalfenster ein

nohup geany > /dev/null
disown

oder

nohup geany >/dev/null &
disown

nohupermöglicht die Ausführung der Anwendung und ist immun gegen Hänger, sodass das Schließen des Terminalfensters keine Auswirkungen auf die Ausführung der Anwendung hätte. Durch Hinzufügen von >/dev/nullzum Befehl wird die Erstellung von nohup.outin jedem Verzeichnis verhindert, aus dem die Anwendung ausgeführt wird.

Aus der Manpage:

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

SYNOPSIS
       nohup COMMAND [ARG]...
       nohup OPTION

Und

$ disown --help
disown: disown [-h] [-ar] [jobspec ... | pid ...]
    Remove jobs from current shell.
    
    Removes each JOBSPEC argument from the table of active jobs.  Without
    any JOBSPECs, the shell uses its notion of the current job.
    
    Options:
      -a    remove all jobs if JOBSPEC is not supplied
      -h    mark each JOBSPEC so that SIGHUP is not sent to the job if the
            shell receives a SIGHUP
      -r    remove only running jobs
    
    Exit Status:
    Returns success unless an invalid option or JOBSPEC is given.

Antwort2

Alternativ nohupkönnen Sie die integrierte Shell verwenden disown. disownEntfernt Jobs aus der Jobliste und SIGHUPwird, wenn die Shell vorhanden ist, nicht an diesen Prozess gesendet.

geany &
disown
exit

Antwort3

Sie können es verwenden exec geany & exit(beachten Sie das „exec“ und das Et-Zeichen), wenn Sie Root nicht benötigen und pkexec geany & exitRoot-Berechtigungen benötigen.

verwandte Informationen