Module lessons (1/2)
Managing processes (ps and kill)
In Linux, every running program is called a process. Each process is assigned a unique numeric identifier called a PID (Process ID). Understanding how to monitor and manage these processes is essential to keeping the system stable and performant.
Monitoring Processes: ps
The ps (process status) command displays a snapshot of current processes. By default, it only lists processes associated with the current user and the current terminal window.
For a full view of all processes running on the system, the BSD option combination aux is commonly used:
a: Shows processes for all users.u: Displays the process owner and CPU/Memory resource usage.x: Lists processes not associated with any terminal (like background services).
ps auxThe output of ps aux is a structured table showing important columns like USER, PID, %CPU, %MEM, and COMMAND (the command that started the process).
Terminating Processes: kill and killall
If a process stops responding or consumes too many resources, we can terminate it by sending a signal.
The kill Command
The kill command sends a signal to a process specified by its PID:
kill 2048 # Sends the SIGTERM (15) signal, requesting a clean shutdown
kill -9 2048 # Sends the SIGKILL (9) signal, forcing immediate termination[!WARNING] Only use
kill -9as a last resort, as it doesn't allow the program to save data or close open files cleanly.
The killall Command
If you do not know the PID or want to terminate all processes of a program by name, you can use killall:
killall python # Terminates all processes named 'python'Try it yourself
Exercise 1: List all processes
Display a full list of all running processes on the system using the 'aux' options.
Show hint
Use the 'ps' command followed by the 'aux' option.
Solution available after 3 attempts
Exercise 2: Terminate a process by PID
Terminate the python process with PID 2048 using the 'kill' command.
Show hint
Use 'kill' followed by the PID of the process (2048).
Solution available after 3 attempts
Exercise 3: Terminate all processes by name
Terminate all running processes associated with the program 'python' using the 'killall' command.
Show hint
Use 'killall' followed by the program name, in this case 'python'.
Solution available after 3 attempts