Pipelines, and pipeline model of processing Let's add a tool to the pipeline! Using Python this time Processes: A program that is running Can have more than one copy running at once ps: Display processes ps axu displays all of them, BSD style - Can use grep after that top: Interactive display Quick answer to "why is my computer so busy?" More than 100% useage from one process bg / fg: Background and foreground ctrl+z: Stop a process Foreground process receives keyboard input Background process doesn't kill, killall: Send signals By PID or by name -9: Kill for sure Why not die with ctrl+c always? signals, sigaction, and making a program resist ctrl+c Function pointers...hope this makes sense! Function pointers in Python (just to be complete) xkill: For when you can't be bothered to look up the PID or name pstree: Might look really bad on the projector Ok, let's see about ps axu: Find all processes that have to do with the web browser - We'd need killall for it What's been running since January? (isoptera) How many people are running bash? (isoptera) Killing things: Let's kill some processes that will probably cause problems CPU usage: What if we decide to use more than once CPU? pthreads If we have time: .profile and .bashrc, intro to shell variables Python program to report user process counts