Process Management
SkillDev toolsLinux process management and control
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Process Management skill
What this skill tells your AI
The instructions your AI receives, as published by chaterm/terminal-skills in linux/process-management/SKILL.md and read by ahel’s review.
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 PID
top/htop
# top interactive commands
top
# P - Sort by CPU
# M - Sort by memory
# k - Kill process
# q - Quit
# htop (more user-friendly)
htop
Other 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 descriptors
Signal 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 process
kill 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 nginx
Background 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 process
screen/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 session
Resource 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 65535
cgroups
# View cgroup
cat /proc/PID/cgroup
# Limit CPU (systemd)
systemctl set-property service.service CPUQuota=50%
# Limit memory
systemctl set-property service.service MemoryLimit=512M
Common 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_PID
Scenario 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/tcp
Scenario 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 PID
Troubleshooting
| 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 |
Signals
- GitHub stars
- 59
- Forks
- 12
- Last commit
- Mar 2026
Advanced
- Catalog kind
- skill
- Gateway key
process-management- Source
- github.com/chaterm/terminal-skills