Process Management
What is a Process?
A process is a running instance of a program. Each process has a unique process ID (PID) and occupies certain system resources (CPU, memory, etc.).
Process Related Concepts
Process States
Process Types
- Foreground process: Occupies terminal until it completes
- Background process: Runs in background without occupying terminal
- Daemon process: System service that runs in background for long time
Viewing Processes
ps - Process Snapshot
ps Output Explanation
top - Dynamic Process Monitoring
top Interactive Commands
htop - Enhanced top
Features:
- Color display
- Mouse support
- Vertical and horizontal scrolling
- Tree view
- Direct search and filtering
pgrep - Find Process by Name
pidof - Get PID
Controlling Processes
kill - Send Signals
Common Signals
killall - Kill by Name
pkill - Kill by Pattern
Foreground/Background Control
Running in Background
Running in Foreground
nohup - No-hangup Running
disown - Disassociate from Terminal
Process Priority
nice - Set Priority at Startup
renice - Modify Running Process Priority
Monitoring System Resources
free - Memory Usage
uptime - System Load
vmstat - Virtual Memory Statistics
iostat - I/O Statistics
/proc Filesystem
Practical Tips
Find Resource-Hogging Processes
Find Zombie Processes
Monitor Specific Process
View Process Open Files
View Port Usage
Summary
This chapter introduced Linux process management:
- Viewing processes:
ps,top,htop,pgrep - Controlling processes:
kill,killall,pkill - Foreground/background control:
&,fg,bg,jobs,nohup - Priority:
nice,renice - System monitoring:
free,vmstat,iostat
Mastering process management is a foundational skill for system administration and troubleshooting.
Previous chapter: User Management
Next chapter: Package Management