Sådan afkobles en proces fuldstændigt fra terminalen: En guide

Hvordan kan en proces (f.eks. Firefox) fuldstændigt afkobles fra terminalen, den er startet fra, så den ikke termineres ved lukning af terminalen og undgår at "forurene" terminalen via STDOUT/STDERR?

For at en proces kan afkobles fuldstændigt fra terminalen, kan du bruge kommandoer som `nohup`, omdirigere STDOUT/STDERR, anvende `disown`, eller benytte terminal multiplexer værktøjer som `screen` eller `tmux`.

Hvordan kan en proces fuldstændigt afkobles fra terminalen?

For at en proces, som f.eks. Firefox, kan afkobles fuldstændigt fra terminalen, den er startet fra, så den ikke termineres ved lukning af terminalen og undgår at "forurene" terminalen via STDOUT/STDERR, kan du følge disse trin:

  • Brug nohup: nohup står for "no hang up" og bruges til at køre en kommando, der fortsætter med at køre efter, at terminalen er lukket.
    • Kommando: nohup firefox &
    • Dette vil starte Firefox og afkoble den fra terminalen, så den fortsætter med at køre, selvom terminalen lukkes.
  • Omdiriger STDOUT og STDERR: For at undgå at "forurene" terminalen med output fra processen, kan du omdirigere STDOUT og STDERR til filer eller /dev/null.
    • Kommando: nohup firefox > /dev/null 2>&1 &
    • Dette vil starte Firefox, afkoble den fra terminalen og omdirigere både STDOUT og STDERR til /dev/null, hvilket betyder, at alt output ignoreres.
  • Brug disown: Efter at have startet processen i baggrunden, kan du bruge disown til at fjerne den fra shellens jobtabeller.
    • Kommando: firefox &
    • Efterfulgt af: disown
    • Dette vil starte Firefox i baggrunden og derefter fjerne den fra shellens jobtabeller, så den ikke termineres, når terminalen lukkes.
  • Brug screen eller tmux: Disse terminal multiplexer værktøjer kan bruges til at starte en session, køre processen indenfor denne session, og derefter afkoble sessionen fra terminalen.
    • Kommando med screen: screen -S mysession
    • Start Firefox indenfor screen sessionen: firefox
    • Afkobl sessionen: Tryk Ctrl+A efterfulgt af D
    • Kommando med tmux: tmux new -s mysession
    • Start Firefox indenfor tmux sessionen: firefox
    • Afkobl sessionen: Tryk Ctrl+B efterfulgt af D

Ved at følge disse trin kan du sikre, at processen fortsætter med at køre uafhængigt af terminalen og undgår at sende output til terminalen.