Ubuntu: Linux voor mensen/Processen/Processen onderbreken

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Wat zijn de opties?[bewerken]

(Paragraaf herschrijven met top of htop)

Zelfs al kan je de processen van andere gebruikers niet beïnvloeden, dan kan je toch je eigen processen in toom houden. Je kan nu al informatie over processen opvragen en je weet welke restricties er kunnen optreden. Wanneer je merkt dat één van de processen die je zelf hebt opgestart, te veel middelen gebruikt, heb je twee mogelijkheden:

  • Zorg dat het proces minder belastend is door middel van het renice commando; hiervoor moet je het proces niet onderbreken.
  • Stop het proces.

De prioriteit veranderen[bewerken]

Top

Het werken met nice en renice vereist een uitgebreide kennis van het systeem. Er is echter een gemakkelijkere manier: top (zie de paragraaf Het top commando). Een belastend proces zal vermoedelijk een negatieve nicewaarde hebben in de kolom “NI”. Werk als volgt:

  • Spoor het procesidentificatienummer op.
  • Typ r.
  • Vul het PID van het proces in en druk Enter.
  • Geef de nice waarde in en druk Enter. Twintig is gewoonlijk een goede keuze, dat betekent dat vanaf nu het proces maximaal 1/5 van de processorcapaciteit zal gebruiken.

Voorbeelden van processen die je zo behandelt zijn emulatoren, virtuele machines, compilers enzovoorts.

Het kill-commando[bewerken]

Een proces stoppen omdat het hangt, op hol slaat of teveel of te grote bestanden aanmaakt, doe je met kill. Als je daartoe de gelegenheid hebt, probeer dan eerst de zachtaardige manier en stuur een SIGTERM signaal (zie de paragraaf Signalen). Dit instrueert het proces om af te handelen waar het mee bezig is volgens de procedures zoals beschreven in de code van het programma. Op die manier wordt alle rommel opgeruimd en worden er geen bestanden beschadigd. Ga als volgt te werk:

  • Zoek het procesidentificatienummer van het proces dat je wilt stoppen met behulp van ps -ef.
  • Gebruik het commando kill -15 PID_nummer.
  • Ga na met ps of het proces echt wel weg is.

Van sommige processen raak je echter niet zo makkelijk af. Probeer dan in eerste instantie kill -2, een interruptiesignaal. Dat is hetzelfde als een programma onderbreken met Ctrl+C als het in de voorgrond draait.

Als ook dat niet helpt, zit er niet veel anders op dan het sterkste signaal te sturen, een SIGKILL, met kill -9.

Kijk in elk geval altijd na met ps of het stoppen gelukt is.

Shells zijn doorgaans het moeilijkst om te stoppen, en dat is maar goed ook. Stel je voor dat je telkens een nieuwe terminal zou moeten openen, wanneer je Ctrl+C invoert...

Opdracht

Xcalc

  1. Start xcalc direct in de achtergrond zodat je direct de prompt weer kunt gebruiken.
  2. Wat doet kill -9 -1 ?

Het xkill commando[bewerken]

Xkill (before killing)

Grafische programma's die vasthangen kan je proberen stoppen met xkill. Na het ingeven van dit commando verandert de muispijl in een doodshoofd. Beweeg het doodshoofd over het venster van het programma dat je wilt stoppen en klik met de linkermuistoets.

Opdracht

Xclock

  1. Start xclock in de voorgrond de grafische mode.
  2. Laat xclock dan in de achtergrond draaien.
  3. Stop het programma met het kill commando.
  4. Hoe heb je dit gedaan?
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.