Processen in Linux

De huidige processen op een Linux OS krijg je overzichtelijk met het programma top. Volgens de manual:

top - display Linux processes

Screenshot from 2015-08-28 08:58:39

Het is de terminal versie van de processen die je op windows via ctrl-alt-del te zien krijgt.

top geeft informatie over de processen, het RAM geheugen en het gebruik van de swap. Onder die informatie geeft het een lijst met de huidige processen, inclusief de gebruiker die het process runt en de systeembronnen die het process gebruikt. Alles in real-time, en dat in de terminal.

Een process beƫindigen kan binnen top via het k commando. De k-toets dus, gevolgt door het ID van het process. Het ID staat in de meest linker kolom, PID (Process ID).

Wil je even een snelle blik op bepaalde processen werpen dan is ps beter geschikt. Het is minder “fancy” dan top, geen realtime update bijvoorbeeld, maar dat maakt het overzicht rustiger.

ps - report a snapshot of the current processes.

Het ps commando geeft standaard alleen een lijst met de processen van het huidige terminal venster. Dat is vrij mager, waarschijnlijk wil je meer zien dan. Een lijst met alle processen bijvoorbeeld:

ps aux

Dit commando geeft een duidelijk overzicht van alle processen met informatie over de user en tijd erbij. Bij ieder process staat een ID (process id), dit is de unieke identifier waarmee je het process kunt aanspreken.

ps kan soms een lange lijst geven. Om het overzichtelijk te houden kun je het commando pipen (uitbreiden met een extra commando). Bijvoorbeeld more of less:

ps aux | more ps aux | less

Ben je op zoek naar iets specifieks, bijvoorbeeld omdat Iceweasel vastloopt, gebruik dan een pipe met grep:

ps aux | grep icew

grep is een afkorting van “Global Regular Expression Parser”, het programma print lijnen die aan een opgegeven regex pattern voldoen

Of nog sneller: pgrep

pgrep icew

En dan nu, omdat je het commando meestal gebruikt om een problematisch process te beeindigen:

kill PID_van_het_process

Dus bijvoorbeeld: kill 1234

Is een process hardnekkig, en lukt het kill’en niet direct gebruik dan:

kill -KILL PID_van_het_process