&
Ich habe unzählige Beispiele gesehen, bei denen a dem Ende einer Befehlszeichenfolge folgt, aber ich kann anscheinend keine Erklärung dafür finden, was es tut. Es ist nicht einmal auf nohup
der man
Seite. Ist das eine Muschelsache?
Entweder mit &
oder nicht, ich finde, dass jeder Prozess, mit nohup
dem ausgeführt wird, Immunität gegen jedes Hangup-Signal zu zeigen scheint.
&
, daher war ich mir nicht sicher, ob&
es eine Art Modifikator oder Argumentation gab, die dazu führte, dass sich dasnohup
Verhalten anders verhält.Antworten:
Aus der Bash-Manpage :
Also ja, es ist eine Shell-Sache und kann mit jedem Befehl verwendet werden. Es gibt Ihnen im Wesentlichen sofort die Kontrolle zurück und ermöglicht, dass der Befehl im Hintergrund ausgeführt wird. Dies wird fast immer verwendet,
nohup
da Sie die Shell normalerweise nach dem Starten des Befehls beenden möchten.quelle
Wenn Sie das kaufmännische Und (&) verwenden, wird der Befehl in einem untergeordneten Prozess ausgeführt (untergeordnet zur aktuellen Bash-Sitzung). Wenn Sie die Sitzung beenden, werden jedoch alle untergeordneten Prozesse beendet.
Die Verwendung von nohup + kaufmännisches Und (&) bewirkt dasselbe, außer dass am Ende der Sitzung das übergeordnete Element des untergeordneten Prozesses in "1" geändert wird. Dies ist der "init" -Prozess, wodurch verhindert wird, dass das untergeordnete Element getötet wird.
quelle
Ja, es ist eine Shell-Sache - es führt den Befehl im Hintergrund aus, sodass Sie nicht warten müssen, bis der aktuelle Befehl zurückgegeben wird, bevor Sie weitere Befehle ausgeben.
quelle