script/server &: was bedeutet das Ampersand?

Josh83

Josh83

Aktives Mitglied
Thread Starter
Dabei seit
29.11.2005
Beiträge
739
Reaktionspunkte
6
Hallo alle

Schon des Öftern bin ich über ein Ampersand "&" am Ende eines UNIX Befehls gestolpert irgendwo im Internet... Kann mir wer sagen, was das genau bedeutet? Erst hielt ich es für Schreibfehler und habe das & einfach weggelassen, aber scheinbar hat das doch eine bestimmte Aufgabe...?

Danke für Infos
Josh
 
befehl& startet den Befehl und schickt ihn sofort in den Hintergrund. D.h. der Befehl wird im Hintergrund abgearbeitet, du hast aber den Vorteil, dass du dein Terminal weiter benutzen kannst.
 
sprich: der naechste Befehl kann starten, ohne auf das Beenden des vorangegangenen warten zu muessen
 
Ah ok, vielen Dank. Ist das sehr empfehlenswert bzw. machen das UNIX-Gurus schon automatisch? Oder erspart es einfach etwas Zeit?
 
Naja, praktisch ist das schon. Ansonsten ist ja dein Terminal blockiert.

Du kannst den Prozess ja jederzeit wieder in den Vordergrund holen.

Du kriegst wenn du ihn in den Hintergrund schicksteine ID für den gestarten Prozess mitgeteilt . (Die zahl in eckigen Klammern). Mit "fg ID" kannst du den Prozess dann wieder in den Vordergrund holen.

z.B.:

ml@~:sleep 100& <------Prozess wird in Hintergrund geschickt
[1] 26716 <------Prozess ID

ml@~:fg 1 <------Prozess in den Vordergrund holen
sleep 100
 
na das macht natürlich nur bei unix befehlen sinn, die länger laufen und keine interaktion benötigen...aber ansonsten sehr praktisch...also bei ls mach ich das z.B. nicht...
 
Und gibt es eine Möglichkeit, den Prozess nach fg 1 wieder in den Hintergrund zu schicken?
 
Klar. Erst Ctrl + z drücken und dann bg eingeben.
 
Wow, danke! Was ist das genau für eine seltsame Kombination von Befehleingaben ist das aber? Ich sehe nicht ganz, wie das bg auf den zuvor abgemurksten (?) Prozess zugreifen kann?
 
"Abmurksen" tust du den Befehl mit Strg + C.

Mit Strg + Z wird er nur angehalten. Dann kannst du ihn entweder gestoppt lassen, in den Hintergrund schicken (bg) oder wieder nach vorne holen (fg).

Und damit man den Überblick nicht verliert kann man sich mit dem Befehl "jobs" die angehaltenen Prozesse bzw. Hintergrundprozesse anzeigen lassen.
 
Zuletzt bearbeitet:
Oke, danke vielmals. :)
 
Zurück
Oben Unten