Wie kann ich einen Befehl beibehalten, den ich von der Shell gestartet habe, wenn ich mich von der Shell abmelde?

12

Welche Methoden gibt es, um einen Befehl, der von der Shell gestartet wurde, nach dem Abmelden von der Shell laufen zu lassen?

    
NES 24.12.2010, 11:03
quelle

4 Antworten

11
  • Um die Anwendung in den Hintergrund zu stellen, verwenden Sie & :

    command &
    
  • Wenn Sie das Terminal schließen und die Anwendung laufen lassen möchten, können Sie verschiedene Optionen verwenden: screen , dtach und nohup .

    nohup command &
    
  • Der Bildschirm ist hilfreich, da Sie eine Sitzung neu starten können und dtach auch Spaß macht.

  • Sehen Sie sich die folgenden Links für weitere Informationen an

karthick87 24.12.2010, 11:26
quelle
5

Verwenden Sie den Befehl nohup wie folgt:

nohup gedit /home/user/file.txt &
    
Javier Rivera 24.12.2010 11:20
quelle
5

Ein nützlicher Befehl (bash?) ist disown . Das Schöne daran ist, dass es für einen bereits laufenden Job funktioniert (übrigens, du verleugnest jobs, nicht processes, also musst du ein ctrl-Z, bg machen, bevor du in deinem Job abstürzt Stellen Sie sich zum Beispiel Folgendes vor:

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

Jetzt ist dir klar, dass du gehen musst, aber nicht willst, dass das Skript beim Beenden beendet wird, also du

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

Jetzt, in remote , läuft Ihr Skript noch.

    
Yossi Farjoun 24.12.2010 19:20
quelle
1

Ich benutze

nohup mycommand &

Um zum Beispiel einen virtuellen VirtualBox-Server aufzurufen, tippe ich folgendes in eine entfernte Shell (die ich dann schließe):

nohup VBoxHeadless --startvm "myvm" --vrdp=off &
    
Ivan 24.12.2010 21:13
quelle

Tags und Links