witr:システム上でプロセスが実行されている理由を明らかに
witr: システムで「これなぜ動いてる?」を即解決する最強ツール
システム管理やデバッグの世界で、すべての管理者を悩ませる一つの疑問があります:「なぜこれが動いてるんだ?」 CPUを食う謎のプロセス、ポートに張り付くサービス、止まらないコンテナ……。ps、top、lsof、systemctlなどの従来ツールは何が動いているかを教えてくれますが、なぜ動いているかは不明。そこに登場するのがwitr。プロセスやサービスの因果関係を明確に解明する画期的なオープンソースCLIツールです。
witrの強みは?
Go言語で開発され、GitHubスター10.9kを獲得したwitrは、任意のプロセス、サービス、ポートの全親子関係をトレース。どのように起動されたか(systemd、pm2、Docker、cronなど)、何がそれを維持しているかを明らかにします。主要目標: - ゼロコンフィグ - 読み取り専用で安全 - 人間が読みやすい出力 - 1画面でまとまるサマリー
モニタリングや自動修正は対象外。インシデント時の明確化に特化しています。
爆速インストール
witrは単一の静的バイナリで、あらゆる環境にパッケージ化済み:
クイックスクリプト(テスト推奨)
Linux/macOS/FreeBSD:
curl -fsSL https://raw.githubusercontent.com/pranshuparmar/witr/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/pranshuparmar/witr/main/install.ps1 | iex
パッケージマネージャ
- Homebrew:
brew install witr - Conda/Mamba/Pixi:
conda install -c conda-forge witr - Arch (AUR):
yay -S witr-bin - FreeBSD:
pkg install sysutils/witr - その他: AOSC OS、GNU Guix、リリースからdeb/rpm/apk。
確認: witr --version または man witr。
基本使い方: 何でもターゲットに
すべてのクエリをPID解析に集約:
- 名前で: witr node または witr nginx
- PIDで: witr --pid 14233
- ポートで: witr --port 5000
サンプル出力
対象: node
プロセス: node (PID 14233) | ユーザー: pm2 | 開始: 2日前 | 再起動: 1回
存在理由: systemd (PID 1) → pm2 (PID 5034) → node (PID 14233)
起動元: pm2
作業ディレクトリ: /opt/apps/expense-manager
Gitリポジトリ: expense-manager (main)
待ち受け: 127.0.0.1:5001
上級者向けフラグ:
- --short: ワンライナー要約
- --tree: プロセス親子ツリー
- --json: マシンリーダブル
- --warnings: セキュリティ警告のみ(例: rootプロセス、パブリックバインド)
クロスプラットフォーム完全対応
| 機能 | Linux | macOS | Windows | FreeBSD |
|---|---|---|---|---|
| プロセス情報 | ✅ | ✅ | ✅ | ✅ |
| systemd/launchd | ✅ | ✅ | - | rc.d ✅ |
| コンテナ (Docker) | ✅ | ⚠️ | - | Jails ✅ |
制限環境ではsudoでフルアクセス。
システム管理者がハマる理由
ツールの飛び回りを数分から数秒に短縮。障害時、監査、好奇心に最適。コントリビューター29名、最新リリースv0.2.4で本番運用OK(Apache-2.0)。
今すぐ試す: GitHubからクローン、インストール、witr --helpを実行。システムが感謝します。
スター: 10.9k | Fork: 244 | 対応: Linux/macOS/Windows/FreeBSD