Med Linux-kommandot nohup ignorerar systemet kommandot HUP. Detta gör att processer kan fortsätta köras i bak­grun­den. Ut­mat­ning­en omdi­ri­ge­ras sedan till filen nohup.out eller en annan fil som du väljer.

Vad är Linux nohup?

För att förstå vad Linux-kommandot nohup är, är det värt att titta på SIGHUP. Detta är en signal som genereras i Linux, bland annat när det uppstår ett an­slut­nings­fel på en datalinje mellan ope­ra­tiv­sy­ste­met och en annan ap­pli­ka­tion. Under vissa om­stän­dig­he­ter är det dock nöd­vän­digt att denna signal inte skickas. Detta är fallet om en ap­pli­ka­tion ska fortsätta att köras även efter att an­vän­da­ren har loggat ut från systemet. För att un­der­tryc­ka signalen och låta program fortsätta köras i bak­grun­den används Linux nohup.

Hur fungerar Linux-kommandot nohup?

Linux nohup ingår i alla vanliga Linux-dis­tri­bu­tio­ner som Debian och Ubuntu och behöver därför inte in­stal­le­ras separat. Du kan använda det för att instruera systemet att köra ett specifikt program i bak­grun­den och därmed koppla bort det från in­logg­nings­ska­let. All utdata omdi­ri­ge­ras au­to­ma­tiskt till mappen nohup.out. För längre processer har detta fördelen att du kan logga ut utan att avbryta processen.

Hur ser syntaxen för Linux nohup ut?

Den grund­läg­gan­de syntaxen för Linux-kommandot nohup ser alltid likadan ut:

$ nohup [Command] [Argument] [&]
bash

”[Kommando]” och ”[Argument]” är pa­ra­met­rar som kan anpassas. För att processer ska kunna fortsätta köras i bak­grun­den efter ut­logg­ning, använd ”[&]”.

Vilka al­ter­na­tiv har kommandot nohup?

Linux nohup ac­cep­te­rar inga andra al­ter­na­tiv än de två stan­dar­dal­ter­na­ti­ven “-h” eller “–help” och “-v” eller “–version”. Endast när du avstår från att ange en parameter för “[kommando]” är al­ter­na­ti­vet “-p” eller “–parents” tillåtet.

Exempel på Linux-kommandot nohup

Slutligen, för att hjälpa dig att förstå hur kommandot fungerar, visar vi några exempel.

$ nohup bash example.sh
bash

Detta kör kommandot i för­grun­den. Kom­man­dots utdata omdi­ri­ge­ras au­to­ma­tiskt till filen nohup.out.

$ nohup bash example.sh > output.txt
bash

Detta kommando omdi­ri­ge­rar utdata till do­ku­men­tet output.txt.

$ nohup bash example.sh &
bash

Genom att använda denna inmatning kommer kommandot att fortsätta köras i bak­grun­den. Om du vill åter­stäl­la detta och återföra kommandot till för­grun­den kan du köra kommandot fg.

Gå till huvudmeny