mcpField
P
process-management

process-management

github.com/chatermクラウド・DevOps59100 回インストール34 週間前に更新
リポジトリ

process-management について

システム管理者や運用担当者向けの Linux プロセス管理スキルガイドです。プロセスの確認、シグナル処理、バックグラウンドジョブ、リソース制限、一般的な診断を扱います。

主な機能

  1. 01プロセスとリソース使用量の確認
  2. 02シグナル送信とプロセス終了
  3. 03バックグラウンドジョブとセッションの管理
  4. 04リソース制限の設定
  5. 05ポート使用とプロセス問題の診断

活用シーン

  1. 01ポートを使用するプロセスの特定と停止
  2. 02CPU とメモリ使用量の監視
  3. 03応答しないプロセスやゾンビプロセスの調査
  4. 04永続的なバックグラウンドセッションでのタスク実行

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/process-managementを入力して読み込まれたか確認します。

詳細

プロセス管理

概要

Linux のプロセス表示、シグナル処理、リソース制限などの管理スキルです。

プロセスの表示

ps コマンド
# 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
その他のツール
# 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 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 コマンド
# 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

バックグラウンドタスク

ジョブ制御
# 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

リソース制限

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

よくあるシナリオ

シナリオ 1:ゾンビプロセスを見つけて終了する
# 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
シナリオ 2:ポートを使用しているプロセスを見つける
# Find process using port 80
lsof -i :80
ss -tlnp | grep :80
netstat -tlnp | grep :80

# Kill process
fuser -k 80/tcp
シナリオ 3:プロセスのリソースを監視する
# 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

トラブルシューティング

問題解決策
プロセスが応答しないstrace -p PID でシステムコールを確認します
CPU 使用率が 100%top、perf top でボトルネックを分析します
メモリリークpmap -x PID、/proc/PID/smaps
ゾンビプロセス親プロセスを見つけて、再起動するか終了します
プロセスが OOM で強制終了された`dmesg

コメント