Modulelessen (2/2)
Taakcontrole en logboeken (bg, fg, tail)
Wanneer u de terminal gebruikt, wilt u mogelijk een langetermijnopdracht uitvoeren zonder de shell te vergrendelen. Linux ondersteunt Job Control, waarmee u processen naar de achtergrond kunt sturen en weer naar de voorgrond kunt schakelen. Daarnaast leert u hoe u logbestanden kunt monitoren om te controleren wat er op het systeem gebeurt.
Commando's uitvoeren op de achtergrond: & en jobs
Om een opdracht direct op de achtergrond te starten (waarbij de controle over de terminal onmiddellijk wordt vrijgegeven), voegt u het teken & (ampersand) toe aan het einde van de opdracht:
sleep 1000 &Deze opdracht retourneert een taaknummer (bijvoorbeeld [1]) en een PID.
Vacatures weergeven: jobs
De opdracht jobs geeft een overzicht van de actieve processen die zijn gekoppeld aan de huidige shell-sessie en die op de achtergrond worden uitgevoerd of zijn opgeschort:
jobsVerplaatsprocessen: fg, bg en Ctrl+Z
Als er een opdracht op de voorgrond wordt uitgevoerd en de terminal blokkeert, kunt u:
- Druk op
Ctrl + Zom het huidige proces te onderbreken (pauzeren). - Gebruik de opdracht
bg(achtergrond) om het onderbroken proces op de achtergrond opnieuw te starten:Bashbg %1 # Restarts job 1 in the background - Gebruik de opdracht
fg(voorgrond) om een achtergrondproces terug naar de voorgrond te brengen:Bashfg %1 # Brings job 1 to the foreground
Controlelogboeken: tail en journalctl
Systeem- en applicatielogboeken registreren belangrijke gebeurtenissen. Vaak moet u deze bestanden in realtime bekijken terwijl ze worden geschreven.
Het einde van een bestand bekijken: tail
Met de opdracht tail worden de laatste regels van een bestand weergegeven (standaard is dit 10 regels):
tail /var/log/syslog
tail -n 20 /var/log/syslog # Shows the last 20 linesOm een bestand in realtime te monitoren (bijvoorbeeld om logberichten te bekijken die zijn gegenereerd tijdens het testen van een applicatie), gebruikt u de optie -f (volgen):
tail -f logs/server.logProbeer het zelf
Oefening 1: Maak een lijst van actieve taken
Geef de lijst met huidige taken (achtergrond- of opgeschorte processen) in de terminalsessie weer met behulp van de opdracht 'jobs'.
Toon hint
Gebruik eenvoudigweg het commando 'jobs'.
Oplossing beschikbaar na 3 pogingen
Oefening 2: Breng een baan naar de voorgrond
Breng de momenteel actieve achtergrondtaak naar de voorgrond met behulp van de opdracht 'fg'.
Toon hint
Gebruik het commando 'fg' om de taak weer naar de voorgrond te brengen.
Oplossing beschikbaar na 3 pogingen
Oefening 3: Controleer de laatste regels van een log
Geef de laatste regels van het logbestand weer op 'logs/server.log' met behulp van de opdracht 'tail'.
Toon hint
Gebruik 'tail' gevolgd door het bestandspad: 'logs/server.log'.
Oplossing beschikbaar na 3 pogingen