it-swarm.com.de

Wie kann ich einen Befehl, den ich von der Shell aus gestartet habe, ausführen lassen, wenn ich mich von der Shell abmelde?

Welche Methoden gibt es, um einen Befehl, der von Shell aus gestartet wurde, beim Ausführen zu belassen, nachdem Sie sich von Shell abgemeldet haben?

12
NES
  • Verwenden Sie &, um die Anwendung in den Hintergrund zu stellen:

    command &
    
  • Wenn Sie das Terminal schließen und die Anwendung weiterhin ausführen möchten, können Sie verschiedene Optionen verwenden: screenInstall screen , dtachInstall dtach und Nohup.

    Nohup command &
    
  • Der Bildschirm ist hilfreich, da Sie eine Sitzung neu starten können und das Anhängen auch Spaß macht.

  • Weitere Informationen finden Sie unter den folgenden Links

11
karthick87

Verwenden Sie den Nohup-Befehl wie folgt:

Nohup gedit /home/user/file.txt &
5
Javier Rivera

Ein nützlicher (Bash?) Befehl ist disown. Das Schöne daran ist, dass es für einen bereits laufenden Job funktioniert (Sie lehnen übrigens Jobs ab, nicht Prozesse, also müssen Sie einen ctrl-Z, bg ausführen, bevor Sie lehnen für Ihren Job ab Stellen Sie sich zum Beispiel Folgendes vor:

local % ssh some.where.com
remote % verylongscript.sh

Jetzt stellen Sie fest, dass Sie gehen müssen, aber nicht möchten, dass das Skript beim Beenden beendet wird, also Sie

ctrl-Z
remote % bg
remote % disown
remote % exit
local %

Jetzt wird Ihr Skript auf remote noch ausgeführt.

5
Yossi Farjoun

Ich benutze

Nohup mycommand &

Um beispielsweise einen virtuellen VirtualBox-Server aufzurufen, gebe ich Folgendes in eine Remote-Shell ein (die ich dann schließe):

Nohup VBoxHeadless --startvm "myvm" --vrdp=off &
1
Ivan