Bird
Raised Fist0
Linux CLIscripting~3 mins

Why ps (list processes) in Linux CLI? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could instantly see every program running on your computer and fix slowdowns in seconds?

The Scenario

Imagine you are using your computer and suddenly it feels very slow. You want to know which programs are running and using up your computer's power. Without a tool, you might try to remember or guess what is running, or open many windows to check each program one by one.

The Problem

Manually checking running programs is slow and confusing. You might miss some hidden tasks or background jobs. It is easy to make mistakes or waste time closing the wrong program. This can make your computer slower or unstable.

The Solution

The ps command shows you a clear list of all running processes on your computer. It tells you what is running, who started it, and how much resource it uses. This helps you quickly find and manage programs without guessing.

Before vs After
✗ Before
Try to remember or open many windows to see running programs
✓ After
ps aux
What It Enables

With ps, you can easily see all running tasks and take control of your computer's performance.

Real Life Example

If your computer is slow, you can run ps aux to find a program using too much memory and stop it safely.

Key Takeaways

ps helps you see all running processes at once.

It saves time and avoids mistakes compared to manual checking.

It gives you control to manage your computer better.

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