Betaalmethoden Abuse

Werken in het Linux achtergrondproces

27.01.2023, 23:58

We hebben je verteld wat een Linux achtergrondproces is en hoe je het correct start. In dit artikel vertellen we je hoe het in deze modus werkt.

Hoe een achtergrondproces werkt

Het uitvoeren van een script in Linux is één taak, je moet ervoor zorgen dat het goed werkt direct nadat je de terminal hebt gesloten. De terminal wordt op de volgende manier afgesloten: je moet op het kruisje klikken dat in de bovenhoek van het scherm staat, dit leidt tot de beëindiging van alle achtergrondprocessen. Er zijn verschillende methoden om ze te redden in het geval dat de verbinding met de interactieve shell verloren gaat

Ten eerste: verwijder de taakwachtrij van de taak door disown te gebruiken:

disown

Net als in de vorige gevallen, als er meerdere processen tegelijk draaien, moet het nummer van degene ten opzichte waarvan de actie zal worden uitgevoerd, worden opgegeven:

disown %1

Zorg ervoor dat de taak niet in de takenlijst staat. Hoe doe je dit. Gebruik het hulpprogramma jobs -l. Gebruik de opdracht om de volledige lijst met lopende processen te bekijken:

ps aux

Volgende methode: je slaat de lopende processen op met de opdracht nohup. Deze opdracht zal na uitvoering op zijn beurt een andere opdracht uitvoeren, alle SIGHUP-signalen worden genegeerd.

Je kunt het commando zo op de achtergrond uitvoeren:

nohup command &

Zoals je in de bovenstaande afbeelding kunt zien, wordt de uitvoer van het commando naar nohup.out gestuurd. Het belangrijkste is dat na het uitloggen en het sluiten van de terminal, het proces blijft werken. Er zijn enkele hulpprogramma's waarmee je twee of meer sessies tegelijk kunt uitvoeren. Met name Screen en Tmux staan je toe om dit te doen.

  • Screen of GNU Screen is een terminal multiplexer waarmee je één werksessie kunt starten en daarin een willekeurig aantal vensters (virtuele terminals) kunt openen. Processen die in dit programma draaien, zullen zelfs draaien als hun vensters onzichtbaar zijn of als het programma is gestopt met draaien.
  • Tmux is een moderner alternatief voor GNU Screen. De mogelijkheden van Tmux zijn echter niet fundamenteel anders - je kunt op dezelfde manier veel vensters openen in een enkele sessie. Taken die in Tmux worden uitgevoerd, blijven draaien als de terminal wordt gesloten.

We hebben dit probleem opgelost, zoals je kunt zien is alles elementair en eenvoudig.