Process Management
Process Management
Understanding Linux Processes
Process Basics
- Process ID (PID)
- Parent Process ID (PPID)
- Process States
- Process Priority
- Resource Usage
Process States
- Running (R)
- Sleeping (S)
- Uninterruptible Sleep (D)
- Stopped (T)
- Zombie (Z)
Process Monitoring
Basic Process Commands
ps aux # List all processes
top # Interactive process viewer
htop # Enhanced process viewer
pgrep pattern # Find processes by pattern
Process Information
ps -f pid # Detailed process info
ps -u username # User processes
ps -C command # Find by command name
lsof # List open files
Job Control
Foreground and Background
command & # Start in background
Ctrl+Z # Suspend process
bg # Resume in background
fg # Bring to foreground
jobs # List jobs
Process Control
kill pid # Send SIGTERM
kill -9 pid # Force kill (SIGKILL)
killall process # Kill by name
pkill pattern # Kill by pattern
Process Scheduling
Nice and Renice
nice -n value command # Start with priority
renice value -p pid # Change priority
Cron Jobs
crontab -e # Edit cron jobs
crontab -l # List cron jobs
# Format: min hour day month weekday command
At Jobs
at now + 1 hour # Schedule one-time job
atq # List pending jobs
atrm job_number # Remove scheduled job
System Monitoring
Resource Usage
free -h # Memory usage
uptime # System load
vmstat # Virtual memory stats
iostat # I/O statistics
Performance Monitoring
sysstat # System statistics
sar # System activity report
dstat # System resource stats
Hands-on Practice
Exercise 1: Process Management
- Start a process:
sleep 1000 &
- List processes:
ps aux | grep sleep
- Change priority:
renice +5 -p PID
- Terminate process:
kill PID
Exercise 2: Job Scheduling
- Create cron job:
crontab -e
- Add daily backup:
0 0 * * * /backup.sh
- List scheduled jobs:
crontab -l
Process Troubleshooting
Common Issues
- High CPU usage
- Memory leaks
- Zombie processes
- Hung processes
Debugging Tools
strace # Trace system calls
ltrace # Library call tracer
gdb # GNU debugger
valgrind # Memory debugger
Additional Resources
Next Steps
- Learn advanced process management
- Master system monitoring tools
- Understand process priorities
- Explore process debugging