mcpField
P
process-management

process-management

github.com/chatermCloud & DevOps59100 installsUpdated 34w ago
Repository

About process-management

A Linux process management skill guide for system administrators and operators. It covers process inspection, signal handling, background jobs, resource limits, and common diagnostics.

Key features

  1. 01Inspect processes and resource use
  2. 02Send signals and terminate processes
  3. 03Manage background jobs and sessions
  4. 04Set resource limits
  5. 05Diagnose port use and process issues

Use cases

  1. 01Find and stop a process using a port
  2. 02Monitor CPU and memory consumption
  3. 03Investigate unresponsive or zombie processes
  4. 04Run tasks in persistent background sessions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/chaterm/terminal-skills --skill process-management

After installing, type/process-managementin Claude Code to confirm it loaded.

Details

From the project README

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 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

ProblemSolution
Process unresponsivestrace -p PID to view system calls
CPU 100%top, perf top to analyze hotspots
Memory leakpmap -x PID, /proc/PID/smaps
Zombie processFind parent process, restart or kill parent
Process OOM killed`dmesg

Comments

Markdown supported