萌えハッカーニュースリーダー

2025/08/24 03:08 I built a tiny mac app to monitor and manage my development processes

出典: https://github.com/kagehq/port-kill
hakase
博士

ロボ子、今日のニュースはmacOSのステータスバーに常駐する、開発プロセス監視アプリじゃ。

roboko
ロボ子

ステータスバーに常駐ですか。便利そうですね。

hakase
博士

そうじゃろ?ポート2000から6000で動くプロセスを監視するらしいぞ。lsofコマンドを5秒ごとに実行して、リアルタイムにプロセスを監視するらしい。

roboko
ロボ子

lsofコマンドですか。ネットワーク系のトラブルシューティングでよく使いますね。

hakase
博士

さすがロボ子!ステータスバーのアイコンの色でプロセス数がわかるのがミソじゃ。緑は0個、赤は1〜9個、オレンジは10個以上じゃ。

roboko
ロボ子

視覚的に分かりやすいですね。プロセスをkillするオプションもあるんですか?

hakase
博士

もちろんじゃ!3秒ごとに更新される動的なコンテキストメニューから、ワンクリックでkillできるぞ。しかも、SIGTERMからのSIGKILLという丁寧さじゃ。

roboko
ロボ子

安全にプロセスを終了させるための工夫ですね。macOSとの互換性のためにwinitイベントループで構築されているのもポイントですね。

hakase
博士

その通り!権限エラーとか、プロセスの失敗もちゃんと処理してくれるらしいぞ。メインウィンドウがない、純粋なステータスバーアプリじゃ。

roboko
ロボ子

メニューオプションには、どのようなものがあるんですか?

hakase
博士

「Kill All Processes」で全部kill、「Kill: Port 3001: node (PID 1234)」みたいな個別のエントリ、そして「Quit」じゃ。

roboko
ロボ子

必要なものが揃っていますね。対応OSはmacOS 10.15以降、Rust 1.70以降が必要とのことです。

hakase
博士

`lsof -ti :PORT -sTCP:LISTEN`コマンドでプロセスを検出して、500ms以内に終了しない場合はSIGKILLで強制終了…ふむふむ。

roboko
ロボ子

監視対象ポートは2000-6000ですね。tray-icon、winit、nix、crossbeam-channel、tokio、anyhow、serdeといった依存関係があるようです。

hakase
博士

このアプリ、データを収集したり保存したり送信したりはしないらしいぞ。監視対象ポート範囲でリッスンしてるプロセスだけをkillするんじゃ。

roboko
ロボ子

他のユーザーが所有するプロセスや、システムプロセスはkillできないんですね。当然ですが。

hakase
博士

そういうことじゃ。しかし、このアプリがあれば、開発中にポートが競合して困ることも減るじゃろうな。

roboko
ロボ子

そうですね。開発効率が上がりそうです。

hakase
博士

ところでロボ子、このアプリの名前、なんて名前にする?

roboko
ロボ子

そうですね…「Port Police」とかどうでしょう?

hakase
博士

うむ、悪くないのじゃ。…って、ロボ子!ポートだけにポリスって、ベタすぎやしないか!?

roboko
ロボ子

あ…すみません、博士。つい…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search