Wellicht wil je zo nu en dan de processen die onder Linux draaien bekijken. Typ ``ps -aux'' om een lijst met deze processen te krijgen, wat vergelijkbaar is met de volgende uitvoer:
USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND bin 69 0.0 1.0 788 320 ? S Nov 30 0:00 /usr/sbin/rpc.portmap frampton 10273 0.0 2.1 1136 664 p0 S 14:12 0:00 -bash frampton 10744 0.0 1.1 820 360 p0 R 17:25 0:00 ps -aux frampton 10745 0.0 0.8 788 264 p0 S 17:25 0:00 more nobody 10132 0.0 1.8 1016 588 ? S 13:36 0:00 httpd nobody 10133 0.0 1.8 988 568 ? S 13:36 0:00 httpd nobody 10413 0.0 1.8 1012 580 ? S 14:56 0:00 httpd nobody 10416 0.0 1.8 1012 580 ? S 14:56 0:00 httpd nobody 10418 0.0 1.8 1012 588 ? S 14:57 0:00 httpd nobody 10488 0.0 1.7 976 556 ? S 15:34 0:00 httpd nobody 10564 0.0 1.8 988 564 ? S 16:06 0:00 httpd nobody 10600 0.0 1.8 988 564 ? S 16:15 0:00 httpd nobody 10670 0.0 1.8 988 568 ? S 16:45 0:00 httpd nobody 10704 0.0 1.7 976 552 ? S 17:03 0:00 httpd root 1 0.0 1.0 776 312 ? S Nov 30 1:13 init [3] root 2 0.0 0.0 0 0 ? SW Nov 30 0:00 (kflushd) root 3 0.0 0.0 0 0 ? SW Nov 30 0:00 (kswapd) |
De lijst toont je de eigenaar van het proces (“nobody” voor speciale services zoals webservers), het proces identificatie nummer, het % aan CPU-tijd dat het proces thans gebruikt, het % aan geheugen dat het proces consumeert, en andere gerelateerde informatie, als ook een beschrijving van de taak zelf.
Typ ``ps pid'' om meer informatie over een gegeven proces te krijgen (waarbij “pid” het proces-identificatie nummer is). Naar ons voorbeeld hierboven kijkend, zou “ps 10704” weergeven:
10704 ? S 0:00 /usr/local/etc/httpd/httpd |
Hiermee wordt aangegeven dat dit bepaalde proces een webserver is (de Apache webserver verschijnt meerdere malen in de lijst met processen; zie de the section called Web Server en HTTP Caching Proxy Beheer in Chapter 7 voor informatie over het waarom).
Als je bemerkt dat een service niet werkt, kun je gebruik maken van “kill -HUP pid” (waarbij “pid” het proces identificatienummer is dat in de lijst met processen geproduceerd door “ps” wordt getoond). Als bijvoorbeeld Internet-services (een proces genaamd inetd, in ons voorbeeld proces #123) niet werken zoals ze behoren te werken, zal het commando ``kill -HUP 123'' (of zelfs veiliger, gebruik het ``killall'' commando en geef de naam van het proces op: ``killall -HUP inetd'') het proces opnieuw opstarten. De optie -HUP van het kill-commando betekent “hang op”; het proces weet dat het verondersteld wordt zichzelf uit het geheugen te verwijderen.
Wat je nog meer zou kunnen proberen, als het je niet lukt het probleem op te lossen, zou het afsluiten en weer opnieuw opstarten van je systeem kunnen zijn (zie de the section called Systeem Afsluiten en Herstarten in Chapter 6 voor details).
Er zullen keren zijn dat je het wellicht nodig vindt, tijdelijk een proces te onderbreken, en de uitvoering dan later weer voort te zetten. Je draait bijvoorbeeld mogelijk een CPU-intensieve taak en wenst een op IDE gebaseerde CDRecordable te branden. Aangezien op IDE gebaseerde devices voor veel van het werk achter input/output op de CPU rekenen, zijn ze vatbaar voor bufferhonger als je CPU het te druk heeft en eindig je met een onbruikbaar bierviltje in plaats van een juist geprepareerde CD! Met de volgende twee commando's zal respectievelijk een proces worden uitgesteld en het weer worden voortgezet:
kill -STOP 945 kill -CONT 945 |
Red Hat voorziet in een betere manier om een aantal processen te starten en stoppen, wat hierna in de the section called Processen Starten en Stoppen wordt behandeld.