Learn how to locate, filter and understand running processes with the ps command to diagnose issues fast. 15.11.2025 | reading time: 2 min When a server slows or a job misbehaves he needs to know which process is responsible; the `ps` command lets him list processes, inspect owners and resource use, and create precise filters to find troublemakers. Find the top CPU users quickly Case example with a runaway task on a web host Execute this one-liner to list the highest CPU consumers and see who owns them ```ps -eo pid,ppid,user,stat,%cpu,%mem,comm --sort=-%cpu | head -n 6``` Example output might look like ```PID PPID USER STAT %CPU %MEM COMMAND 2345 1 www-data R 12.5 1.2 apache2 1987 1 root S 2.1 0.8 mysqld 1122 1 root S 0.3 0.9 sshd``` Use the PID to investigate further or to send a signal with `kill`. Options that change the game Use `ps aux` for a BSD style snapshot showing all users and processes or `ps -ef` for the SysV style full listing; `ps -o` lets him craft custom columns like pid,ppid,etime,cmd and `ps --forest` reveals parent child relationships in a tree; combine `ps` with `grep`, `pgrep`, or `awk` to filter and format exactly what he needs. When ps is not enough For live, interactive inspection use `top` or `htop` to watch metrics change; use `strace` to trace syscalls for a stubborn process and `systemctl` to correlate a process with a service unit when debugging systemd-managed programs. Next steps for mastery Start practicing on real systems: list processes, sort by CPU or memory, reproduce a problematic load and trace the responsible PID to its service; then prepare for certification to formalize the skill and consider intensive exam preparation at bitsandbytes.academy for CompTIA Linux+ or LPIC-1. Join Bits & Bytes Academy First class LINUX exam preparation. utilities processes troubleshooting scripting