📖 Scenario: You are managing a Linux system and want to see which programs are running. You will use the ps command to list processes and filter them.
🎯 Goal: Learn to use the ps command to list all running processes, filter by user, and display specific columns.
📋 What You'll Learn
Use the ps command to list processes
Filter processes by user
Display specific columns like PID and command
Use command options correctly
💡 Why This Matters
🌍 Real World
System administrators often need to check running processes to monitor system health or troubleshoot issues.
💼 Career
Knowing how to list and filter processes is a basic skill for Linux system administrators and developers working on servers.
Progress0 / 4 steps
1
List your current processes
Type the command ps to list the processes running in your current shell session.
Linux CLI
Hint
The ps command without options shows processes in your current shell.
2
List all processes for your user
Type the command ps -u $USER to list all processes owned by your user account.
Linux CLI
Hint
The -u option followed by your username shows all your user processes.
3
Show only PID and command columns
Use ps -u $USER -o pid,comm to list your user processes showing only the PID and command name columns.
Linux CLI
Hint
The -o option lets you choose which columns to display.
4
Print the final command output
Run the command ps -u $USER -o pid,comm and print its output to see your user processes with PID and command columns.
Linux CLI
Hint
The output should show a header with 'PID' and 'COMMAND' and list your processes.
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
Step 1: Understand the purpose of ps
The ps command is used to show processes running on the system.
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.
Final Answer:
It lists the currently running processes on the system. -> Option B
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
Step 1: Identify the common option for full details
The -ef option with ps lists all processes with full details.
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.
Final Answer:
ps -ef -> Option D
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
Step 1: Understand ps -e and pipe to grep
ps -e lists all processes; piping to grep sshd filters lines containing 'sshd'.
Step 2: Interpret the output if sshd is running
If sshd is running, its process line will appear in the output.
Final Answer:
It will show the sshd process details in the list. -> Option A
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
Step 1: Analyze the command structure
ps -ef outputs all processes; piping to grep requires a pattern to search.
Step 2: Identify the error cause
Without a pattern, grep throws an error because it expects a search term.
Final Answer:
You forgot to provide a search pattern after grep. -> Option A
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
Step 1: Understand options for user filtering
ps -u alice lists processes for user alice; -f adds full details.
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.
Final Answer:
ps -u alice -f -> Option C
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 unknownstrongwhile earning +1 Grip toward your certificate.