
Process Management
- 84 installs
- 50 repo stars
- Updated March 3, 2026
- chaterm/terminal-skills
Reference for Linux process management: viewing processes, signal handling, and resource limits.
About
Covers Linux process viewing with ps, signal handling, and resource limiting. A developer uses it when managing processes on a Linux system.
- ps process viewing
- Signal handling and resource limits
Process Management by the numbers
- 84 all-time installs (skills.sh)
- Ranked #262 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/chaterm/terminal-skills --skill process-managementAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 84 |
|---|---|
| repo stars | ★ 50 |
| Last updated | March 3, 2026 |
| Repository | chaterm/terminal-skills ↗ |
What it does
Reference for Linux process management: viewing processes, signal handling, and resource limits.
Files
Process Management
Overview
Linux process viewing, signal handling, resource limiting and other management skills.
Process Viewing
ps Command
# Common formats
ps aux # All process details
ps -ef # Full format
ps -eo pid,ppid,cmd,%mem,%cpu # Custom columns
# Find specific process
ps aux | grep nginx
ps -C nginx # By command name
# Process tree
ps auxf
pstree
pstree -p # Show PIDtop/htop
# top interactive commands
top
# P - Sort by CPU
# M - Sort by memory
# k - Kill process
# q - Quit
# htop (more user-friendly)
htopOther Tools
# Sort by resource
ps aux --sort=-%cpu | head -10 # Highest CPU
ps aux --sort=-%mem | head -10 # Highest memory
# View process details
cat /proc/PID/status
cat /proc/PID/cmdline
ls -la /proc/PID/fd # Open file descriptorsSignal Handling
Common Signals
# Signal list
kill -l
# Common signals
# SIGTERM (15) - Graceful termination (default)
# SIGKILL (9) - Force termination
# SIGHUP (1) - Reload configuration
# SIGSTOP (19) - Pause process
# SIGCONT (18) - Continue processkill Command
# Terminate process
kill PID # Send SIGTERM
kill -9 PID # Force terminate
kill -HUP PID # Reload config
# Terminate by name
pkill nginx
pkill -9 -f "python script.py"
# Terminate all processes of a user
pkill -u username
# killall
killall nginx
killall -9 nginxBackground Tasks
Job Control
# Run in background
command &
nohup command & # Ignore hangup signal
nohup command > output.log 2>&1 &
# Job management
jobs # View jobs
fg %1 # Foreground
bg %1 # Background
Ctrl+Z # Pause current processscreen/tmux
# screen
screen -S session_name # Create session
screen -ls # List sessions
screen -r session_name # Resume session
Ctrl+A D # Detach session
# tmux
tmux new -s session_name
tmux ls
tmux attach -t session_name
Ctrl+B D # Detach sessionResource Limits
ulimit
# View limits
ulimit -a
# Set limits
ulimit -n 65535 # Max file descriptors
ulimit -u 4096 # Max processes
ulimit -v unlimited # Virtual memory
# Permanent settings /etc/security/limits.conf
# * soft nofile 65535
# * hard nofile 65535cgroups
# View cgroup
cat /proc/PID/cgroup
# Limit CPU (systemd)
systemctl set-property service.service CPUQuota=50%
# Limit memory
systemctl set-property service.service MemoryLimit=512MCommon Scenarios
Scenario 1: Find and Kill Zombie Processes
# Find zombie processes
ps aux | awk '$8=="Z" {print}'
# Find parent process
ps -o ppid= -p ZOMBIE_PID
# Kill parent process
kill -9 PARENT_PIDScenario 2: Find Process Using Port
# Find process using port 80
lsof -i :80
ss -tlnp | grep :80
netstat -tlnp | grep :80
# Kill process
fuser -k 80/tcpScenario 3: Monitor Process Resources
# Real-time monitor single process
top -p PID
watch -n 1 "ps -p PID -o %cpu,%mem,cmd"
# View files opened by process
lsof -p PIDTroubleshooting
| Problem | Solution |
|---|---|
| Process unresponsive | strace -p PID to view system calls |
| CPU 100% | top, perf top to analyze hotspots |
| Memory leak | pmap -x PID, /proc/PID/smaps |
| Zombie process | Find parent process, restart or kill parent |
| Process OOM killed | `dmesg |
Related skills
CLI & Terminalinfra