Docs / Server Management / Understanding and Managing Linux Processes

Understanding and Managing Linux Processes

By Admin · Feb 25, 2026 · Updated Apr 23, 2026 · 209 views · 1 min read

Viewing Processes

# Show all processes
ps aux

# Show process tree
ps auxf
pstree -p

# Interactive process viewer
top
htop

Key Process Information

ColumnMeaning
PIDProcess ID
USERProcess owner
%CPUCPU usage percentage
%MEMMemory usage percentage
VSZVirtual memory size
RSSPhysical memory (resident set)
STATProcess state (S=sleeping, R=running, Z=zombie)

Finding Specific Processes

# Find by name
pgrep -a nginx
pidof nginx

# Find by port
ss -tlnp | grep :80
lsof -i :80

Sending Signals

# Graceful stop (SIGTERM)
kill PID
kill -15 PID

# Force kill (SIGKILL) — last resort
kill -9 PID

# Kill all processes by name
killall nginx
pkill -f "python app.py"

# Reload configuration (SIGHUP)
kill -HUP $(pidof nginx)

Background Processes

# Run in background
./long-task.sh &

# Bring to foreground
fg

# List background jobs
jobs

# Keep running after logout
nohup ./long-task.sh > output.log 2>&1 &
# Or use tmux/screen

Process Priority

# Run with lower priority
nice -n 19 ./heavy-task.sh

# Change priority of running process
renice -n 10 -p PID

Zombie Processes

Zombies are processes that finished but their parent has not read their exit status. They use no resources but consume a PID:

# Find zombies
ps aux | grep Z

# Fix: kill the parent process
kill -9 PARENT_PID

Was this article helpful?