Using nohup to allows jobs to continue on logout
Innehållsförteckning:
- Hur man använder nohup-kommandot
- Köra kommandot i bakgrunden
- Omdirigera utgången till en fil
- alternativ
- Skärm
- tmux
- Förneka
- Slutsats
nohup
kommandot kör ett annat program som är specificerat som dess argument och ignorerar alla SIGHUP-signaler.
SIGHUP
är en signal som skickas till en process när dess kontrollterminal är stängd.
Vanligtvis när du kör ett program över SSH, om din anslutning tappar eller du loggar ut, avslutas sessionen och alla processer som körs från terminalen kommer att stoppas. Det är här
nohup
kommandot är praktiskt. Den ignorerar alla hangup-signaler och processen fortsätter att köras.
Hur man använder nohup-kommandot
Syntaxen för
nohup
kommandot är som följer:
nohup COMMAND
Kommandot accepterar inga andra alternativ förutom standard
--help
och
--version
.
Låt oss ta en titt på följande exempel:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
kör
mycommand
kommandot i förgrunden och omdirigerar kommandoutput till filen
nohup.out
. Denna fil skapas i den aktuella arbetskatalogen. Om användaren som kör kommandot inte har skrivbehörigheter till den fungerande katalogen skapas filen i användarens hemkatalog.
Om du loggar ut eller stänger terminalen avslutas inte processen.
Köra kommandot i bakgrunden
Att använda
nohup
i förgrunden är inte särskilt användbart eftersom du inte kommer att kunna interagera med skalet förrän kommandot har slutförts.
För att köra kommandot i bakgrunden lägg till symbolen
&
i slutet av kommandot:
nohup mycommand &
Utgången inkluderar skaljobb-ID (omgiven av parenteser) och process-ID:
25177
Du kan använda jobb-ID för att föra kommandot i förgrunden med
fg
kommandot.
Om du av någon anledning vill avsluta processen använder du
kill
kommandot följt av process-ID:
Omdirigera utgången till en fil
Som standard omdirigerar
nohup
kommandoutput till filen
nohup.out
. Om du vill omdirigera utgången till en annan fil använder du standard shell omdirigering.
För att till exempel omdirigera standardutmatningen och standardfelet till
mycommand.out
skulle du använda:
nohup mycommand > mycommand.out 2>&1 &
För att omdirigera standardutmatningen och standardfelet till olika filer:
nohup mycommand > mycommand.out 2> mycommand.err &
alternativ
Det finns flera alternativa program som du kan använda för att undvika att ett kommando avslutas när du stänger terminalen eller blir frånkopplad.
Skärm
Screen eller GNU Screen är ett terminalmultiplexerprogram som låter dig starta en skärm session och öppna valfritt antal fönster (virtuella terminaler) i den sessionen. Processer som körs i skärmen kommer att fortsätta att köras när deras fönster inte syns även om du kopplas bort.
tmux
Tmux är ett modernt alternativ till GNU-skärmen. Med Tmux kan du också skapa en session och öppna flera fönster i den sessionen. Tmux-sessioner är ihållande, vilket innebär att program som körs i Tmux kommer att fortsätta att köras även om du stänger terminalen.
Förneka
disown
är ett skal inbyggt som tar bort ett skaljobb från skalets jobbkontroll. Till skillnad från
nohup
kan du också använda
disown
på processer som körs.
Slutsats
nohup
låter dig förhindra att kommandon avslutas när du loggar ut eller lämnar terminalen.
Oktober månad kan ha dominerats mer eller mindre av Ubuntu Linux för de som förutser den senaste Quantal Quetzal-versionen, men i veckan gjorde Linux Mint-projektet ett spännande meddelande om
I synnerhet lanserade Linux Mint-projektet på tisdag att det nu har en onlinebutik komplett med flera datorer som erbjuder Linux Mint förladdad. "
Samlingen "Linux Diversity": Ett kit, 10 Linux distros
Om du handlar om ett nytt OS , kommer den här uppsättningen att ge dig en mängd olika de senaste populära alternativen.
Linux: Linux Live USB Creator gör det lättare att installera Linux
Linux har alltid stött på de flesta som något för komplicerat att installera och lära. Men med Linux Live USB Creator kan du nu installera ett av många Linux-operativsystem på din USB-stick och använda det helt enkelt.







