Linux-opdrachten zijn een geweldige manier om met het systeem te communiceren via de terminal. Soms kan het echter even duren voordat de taak die voorhanden is, is voltooid. Dit dwingt gebruikers om geruime tijd te wachten of helemaal een nieuwe shell te spawnen.
Gelukkig kun je Linux-opdrachten op de achtergrond uitvoeren door enkele eenvoudige methoden te volgen. De rest van dit artikel illustreert enkele van deze methoden.
1. Voeg een en-teken toe na uw opdracht
De eenvoudigste manier om een Linux-achtergrondopdracht uit te voeren, is door een Ampersand (&) symbool achter het commando. Als u bijvoorbeeld de gedit-teksteditor start vanaf uw terminal, kunt u de shell pas gebruiken als u de editor sluit. Wanneer u echter een extra & op uw commando, kunt u de shell onmiddellijk gebruiken.
gedit &
2. Gebruik bg om lopende opdrachten naar de achtergrond te sturen
Soms voert u een opdracht alleen uit om erachter te komen dat het veel langer duurt om te voltooien. U kunt deze opdrachten gemakkelijk naar de achtergrond sturen door op de
Ctrl + Z toetsen en vervolgens met behulp van de bg opdracht. Ctrl + Z stopt het lopende proces, en bg brengt het naar de achtergrond.U kunt een lijst met alle achtergrondtaken bekijken door te typen banen in de terminal. Gebruik de fg commando om terug te gaan naar de lopende taak.
3. Stuur opdrachten naar de achtergrond met nohup
De nohup commando in Linux stelt beheerders in staat terminalopdrachten uit te voeren die immuun zijn voor HUP of Ophangen signalen. U kunt Linux-opdrachten op de achtergrond uitvoeren met nohup.
In het onderstaande voorbeeld wordt een Nmap-poortscan op de achtergrond.
nohup sudo nmap -sS --top-poorten = 15192.168.1.1/24
Een belangrijk voordeel van nohup is dat uw opdrachten worden uitgevoerd, zelfs als u de shell afsluit. Bovendien genereert het logbestanden van de uitvoering. Zoeken nohup.out in de huidige directory of in $ HOME.
4. Voer achtergrondopdrachten uit met behulp van systeemomleidingen
U kunt ook achtergrondopdrachten in Linux uitvoeren met behulp van systeemomleidingen. Als u bijvoorbeeld het onderstaande ping commando, zal je shell het op de achtergrond uitvoeren en de terminalprompt onmiddellijk teruggeven.
ping -c5 8.8.8.8> output.log 2> & 1 &
Hier wordt de uitvoer van het ping-commando omgeleid naar het output.log het dossier. Je kunt het vervangen door /dev/null als u het resultaat wilt weggooien. De 2>&1 vertelt bash om eventuele fouten naar hetzelfde bestand om te leiden. De laatste & signaleert bash om deze opdracht op de achtergrond uit te voeren.
5. Zet Linux-opdrachten op de achtergrond met disown
De verloochenen command in Linux maakt het gemakkelijk om commando's op de achtergrond uit te voeren. Eerst moet u de taak op de achtergrond verzenden met behulp van de & operator. Typ vervolgens verloochenen om het los te maken van je schaal.
gedit &
verloochenen
Een groot voordeel van disown is dat het systeem, net als nohup, uw taak niet zal doden wanneer u uw shell sluit of uitlogt.
6. Voer Linux-opdrachten op de achtergrond uit met behulp van Tmux
Tmux is een krachtige multiplexer waarmee we meerdere terminalsessies binnen één venster kunnen uitvoeren. Het leren van tmux is een uitstekende keuze voor mensen die er niet bekend mee zijn. Tmux maakt het uitvoeren van achtergrondopdrachten in Linux moeiteloos.
tmux nieuw -d 'ping -c 10 8.8.8.8> output.log'
Wanneer u het bovenstaande uitvoert tmux commando, zal het de ping commando in een aparte shell en bewaar het op de achtergrond. Met deze methode kunt u elke Linux-opdracht op de achtergrond uitvoeren.
Verwant: Hoe Tmux voor Linux te installeren en configureren
Laat uw Linux-opdrachten op de achtergrond
De mogelijkheid om opdrachten op de achtergrond uit te voeren, maakt systeembeheer productiever voor beheerders. U kunt uw taken op verschillende manieren achtergrond geven. Bash-functies zoals de & en Ctrl + Z zijn handig, maar het systeem zal de achtergrondtaak beëindigen wanneer de shell wordt gesloten. Aan de andere kant, tools zoals nohup en verloochenen laat je commando draaien, zelfs als je uitlogt of de shell beëindigt.
Als u uw programma's lange tijd op de achtergrond laat staan, kunnen ze zombieprocessen worden als ze niet correct zijn gecodeerd. Deze processen kunnen het systeem aanzienlijk vertragen. Zorg er dus voor dat u af en toe zombieprocessen identificeert en doodt.
Zombieprocessen zijn overblijfselen van gesloten software. Hier leest u hoe zombieprocessen een Linux-systeem kunnen vertragen en hoe u ze kunt doden.
Lees Volgende
- Linux
- Linux
- Linux-opdrachten
Rubaiat is een afgestudeerde CS met een sterke passie voor open-source. Behalve dat hij een Unix-veteraan is, houdt hij ook van netwerkbeveiliging, cryptografie en functioneel programmeren. Hij is een fervent verzamelaar van tweedehands boeken en heeft een oneindige bewondering voor classic rock.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.