Bird
Raised Fist0
Linux CLIscripting~5 mins

ps (list processes) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you want to see what programs are running on your computer. The ps command shows you a list of these running programs, called processes. This helps you understand what your computer is doing right now.
When you want to check if a program you started is still running.
When your computer feels slow and you want to see which programs use resources.
When you want to find the process ID (PID) to stop a program.
When you want to see all running programs by all users on the system.
When you want to check details like how long a program has been running.
Commands
This command shows the processes running in the current terminal session. It helps you see what you started in this window.
Terminal
ps
Expected OutputExpected
PID TTY TIME CMD 1234 pts/0 00:00:00 bash 5678 pts/0 00:00:01 ps
This command shows all running processes on the system from all users with detailed information. It helps you see everything running on your computer.
Terminal
ps aux
Expected OutputExpected
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 169084 5404 ? Ss 10:00 0:01 /sbin/init user 1234 0.1 0.3 275432 12340 pts/0 Ss 10:05 0:00 bash user 5678 0.0 0.1 46232 3456 pts/0 R+ 10:06 0:00 ps aux
→
a - Show processes of all users, not just yours
→
u - Display user-oriented format with details
→
x - Include processes without a controlling terminal
This command lists all processes in a full-format listing. It is another common way to see all running processes with details.
Terminal
ps -ef
Expected OutputExpected
UID PID PPID C STIME TTY TIME CMD root 1 0 0 10:00 ? 00:00:01 /sbin/init user 1234 1200 0 10:05 pts/0 00:00:00 bash user 5678 1234 0 10:06 pts/0 00:00:00 ps -ef
→
-e - Show all processes
→
-f - Show full format listing
Key Concept

If you remember nothing else from ps, remember: it shows you what programs are running and their details so you can manage your computer better.

Common Mistakes
Running ps without flags expecting to see all processes.
By default, ps shows only processes in the current terminal session, so you miss other running programs.
Use ps aux or ps -ef to see all running processes on the system.
Confusing the output columns and not knowing which PID to use.
Without understanding the columns, you might pick the wrong process to stop or monitor.
Learn the meaning of columns like PID (process ID), USER (owner), and COMMAND (program name) before acting.
Summary
ps shows running programs (processes) on your computer.
Use ps aux or ps -ef to see all processes with details.
Knowing the process ID helps you manage or stop programs.

Practice

(1/5)
1. What does the ps command do in Linux?
easy
A. It shows the disk usage of files and folders.
B. It lists the currently running processes on the system.
C. It displays the network connections.
D. It updates the system software.

Solution

  1. Step 1: Understand the purpose of ps

    The ps command is used to show processes running on the system.
  2. Step 2: Compare with other options

    Disk usage is handled by du, network connections by netstat or ss, and software updates by apt or yum.
  3. Final Answer:

    It lists the currently running processes on the system. -> Option B
  4. Quick Check:

    ps shows running processes [OK]
Hint: Remember: ps = process status, shows running programs [OK]
Common Mistakes:
  • Confusing ps with disk or network commands
  • Thinking ps updates software
  • Assuming ps shows file sizes
2. Which of the following is the correct syntax to list all processes with full details using ps?
easy
A. ps -l
B. ps -xv
C. ps auxf
D. ps -ef

Solution

  1. Step 1: Identify the common option for full details

    The -ef option with ps lists all processes with full details.
  2. Step 2: Check other options

    ps -xv is an invalid combination, ps auxf displays a tree view rather than a plain list, and ps -l shows limited info for current processes.
  3. Final Answer:

    ps -ef -> Option D
  4. Quick Check:

    ps -ef shows all processes fully [OK]
Hint: Use ps -ef for full process list [OK]
Common Mistakes:
  • Using ps -xv which is invalid
  • Confusing ps auxf as a single option
  • Using ps -l which shows limited info
3. What will be the output of the command ps -e | grep sshd if the sshd process is running?
medium
A. It will show the sshd process details in the list.
B. It will show an error because grep cannot be used with ps.
C. It will show all processes except sshd.
D. It will show nothing because sshd is filtered out.

Solution

  1. Step 1: Understand ps -e and pipe to grep

    ps -e lists all processes; piping to grep sshd filters lines containing 'sshd'.
  2. Step 2: Interpret the output if sshd is running

    If sshd is running, its process line will appear in the output.
  3. Final Answer:

    It will show the sshd process details in the list. -> Option A
  4. Quick Check:

    ps -e | grep sshd shows sshd if running [OK]
Hint: Pipe ps output to grep to find specific processes [OK]
Common Mistakes:
  • Thinking grep causes error with ps
  • Assuming grep excludes matching lines
  • Believing sshd won't appear if running
4. You run ps -ef | grep but get an error. What is the likely cause?
medium
A. You forgot to provide a search pattern after grep.
B. The ps command does not support pipes.
C. The -ef option is invalid for ps.
D. grep cannot be used with ps output.

Solution

  1. Step 1: Analyze the command structure

    ps -ef outputs all processes; piping to grep requires a pattern to search.
  2. Step 2: Identify the error cause

    Without a pattern, grep throws an error because it expects a search term.
  3. Final Answer:

    You forgot to provide a search pattern after grep. -> Option A
  4. Quick Check:

    grep needs a pattern after it [OK]
Hint: Always give grep a pattern to avoid errors [OK]
Common Mistakes:
  • Thinking ps can't pipe output
  • Believing -ef is invalid
  • Assuming grep works without a pattern
5. You want to list all processes owned by user 'alice' with detailed info. Which command should you use?
hard
A. ps aux | grep alice
B. ps -ef | grep alice
C. ps -u alice -f
D. ps -U alice

Solution

  1. Step 1: Understand options for user filtering

    ps -u alice lists processes for user alice; -f adds full details.
  2. Step 2: Compare other options

    Using ps -ef | grep alice or ps aux | grep alice relies on grep which may match username in other fields, not just owner. ps -U alice lists processes by real user ID but lacks full details.
  3. Final Answer:

    ps -u alice -f -> Option C
  4. Quick Check:

    ps -u alice -f lists alice's processes fully [OK]
Hint: Use ps -u username -f for detailed user processes [OK]
Common Mistakes:
  • Using grep which may show unrelated lines
  • Using -U without details
  • Confusing -u and -U options
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard