Linux-kommandon är ett bra sätt att interagera med systemet med terminalen. Ibland kan det dock ta ett tag att slutföra uppgiften. Detta tvingar användare att vänta en längre tid eller helt och hållet skapa ett nytt skal.
Lyckligtvis kan du köra Linux-kommandon i bakgrunden genom att följa några enkla metoder. Resten av den här artikeln illustrerar några av dessa metoder.
1. Lägg till ett tecken efter ditt kommando
Det enklaste sättet att köra ett Linux-bakgrundskommando är att lägga till ett Ampersand (&) -symbol efter kommandot. Om du till exempel startar gedit-textredigeraren från din terminal kan du inte använda skalet förrän du stänger redigeraren. Men när du lägger till en extra & till ditt kommando kommer du att kunna använda skalet omedelbart.
gedit &
2. Använd bg för att skicka körkommandon till bakgrunden
Ibland kör du bara ett kommando för att ta reda på att det tar mycket längre tid att avsluta. Du kan enkelt skicka dessa kommandon till bakgrunden genom att trycka på Ctrl + Z
och sedan på bg kommando. Ctrl + Z stoppar den pågående processen och bg tar det till bakgrunden.Du kan visa en lista över alla bakgrundsuppgifter genom att skriva jobb i terminalen. Använd fg kommando för att komma tillbaka till den löpande uppgiften.
3. Skicka kommandon till bakgrunden med nohup
De nohup kommando i Linux tillåter administratörer att köra terminalkommandon som är immuna mot HUP eller Lägg på signaler. Du kan köra Linux-kommandon i bakgrunden med nohup.
Nedanstående exempel kör en Nmap-port skanning i bakgrunden.
nohup sudo nmap -sS - topp-portar = 15 192.168.1.1/24
En viktig fördel med nohup är att dina kommandon körs även om du lämnar skalet. Dessutom genererar den loggfiler för körningen. Leta efter nohup.out i den aktuella katalogen eller i $ HOME.
4. Kör bakgrundskommandon med systemomdirigeringar
Du kan också köra bakgrundskommandon i Linux med systemomdirigeringar. Till exempel om du kör nedan ping kommandot, kommer ditt skal att köra det i bakgrunden och omedelbart ge terminalprompten tillbaka.
ping -c5 8.8.8.8> output.log 2> & 1 &
Här omdirigeras utdata från ping-kommandot till output.log fil. Du kan ersätta den med /dev/null om du vill kasta resultatet. De 2>&1 säger till bash att omdirigera eventuella fel till samma fil. Den slutliga & signalerar för att köra kommandot i bakgrunden.
5. Ställ Linux-kommandon till bakgrunden med hjälp av disown
De förneka kommando i Linux gör det enkelt att köra kommandon i bakgrunden. Först måste du skicka uppgiften i bakgrunden med hjälp av & operatör. Skriv sedan förneka för att lossa det från skalet.
gedit &
förneka
En stor fördel med att avvisa är att systemet, som nohup, inte kommer att döda din uppgift när du stänger ditt skal eller loggar ut.
6. Kör Linux-kommandon i bakgrunden med Tmux
Tmux är en kraftfull multiplexer som låter oss köra flera terminalsessioner i ett enda fönster. Att lära sig tmux är ett utmärkt val för människor som inte känner till det. Tmux gör körning av bakgrundskommandon i Linux enkelt.
tmux new -d 'ping -c 10 8.8.8.8> output.log'
När du kör ovanstående tmux kommandot, kommer det att utföra ping kommandot i ett separat skal och håll det i bakgrunden. Du kan utföra alla Linux-kommandon i bakgrunden med den här metoden.
Relaterad: Hur man installerar och konfigurerar Tmux för Linux
Lämna dina Linux-kommandon i bakgrunden
Att ha förmågan att köra kommandon i bakgrunden gör systemhantering mer produktiv för administratörer. Du kan bakgrunder dina uppgifter på flera sätt. Bash-funktioner som & och Ctrl + Z är praktiska, men systemet dödar bakgrundsjobbet när skalet stängs. Å andra sidan, verktyg som nohup och förneka håll ditt kommando igång även när du loggar ut eller avslutar skalet.
Om du lämnar dina program i bakgrunden under lång tid kan de bli zombieprocesser om de inte kodas ordentligt. Dessa processer kan sakta ner systemet avsevärt. Så se till att identifiera och döda zombieprocesser då och då.
Zombie-processer är rester av sluten programvara. Här är hur zombieprocesser kan sakta ner ett Linux-system och hur man dödar dem.
Läs Nästa
- Linux
- Linux
- Linux-kommandon
Rubaiat är en CS-grad med en stark passion för öppen källkod. Förutom att vara en Unix-veteran, är han också med nätverkssäkerhet, kryptografi och funktionell programmering. Han är en ivrig samlare av begagnade böcker och har en oändlig beundran för klassisk rock.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Ett steg till…!
Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.