&
Från Unix.se, den fria unixresursen.
När ett program startas med ett &-tecken efter, hamnar det i bakgrunden:
$ emacs & [1] 11584
Vad som händer här är att emacs hamnar först i jobb-listan och tilldelas PID 11584. För att ta kontroll över processen (i det här fallet emacs) använder man fg
, vilket, förmodar jag, står för foreground.
De flesta program går att suspend:a med C-z
, vilket innebär att de ligger inaktiva i bakgrunden. För att göra dem aktiva igen kan man använda kommandot bg
(background). Då körs de i bakgrunden precis som om man hade startat dem med ett &-tecken efter från början. Även i det här fallet hade det givetvis gått att använda fg
för att få kontroll över processen.
jobs
visar vilka program som körs:
$ jobs [1]+ Running emacs & (wd: ~)
Värt att notera kan vara att %n
, där n är numret i jobb-listan, kan användas istället för fg, och att man kan ge det som argument till exempelvis kill istället för att ange processens fulla PID:
$ kill %1 [1]+ Stopped emacs (wd: ~)
OBS: &-teckent används för att köra program i bakgrunden och inte programmets output strömmar. Vill man slippa outputs från t.ex. en tidskrävande process av ett ls-kommando, kan man t.ex. dirigera om det till en fil som fungerar som ett svart hål, /dev/null.