Skip to main content
Glama
stop-ngrok.sh5.08 kB
#!/bin/bash # ngrok専用停止スクリプト echo "==========================================" echo "🛑 ngrok 停止スクリプト" echo "==========================================" echo "" # ngrokプロセスを検索 echo "🔍 ngrokプロセスを検索しています..." echo "" NGROK_PIDS=$(pgrep -f "ngrok") if [ -z "$NGROK_PIDS" ]; then echo "✅ ngrokのプロセスは見つかりませんでした" echo "" # ポート確認 PORT_4040=$(lsof -ti:4040 2>/dev/null) PORT_4041=$(lsof -ti:4041 2>/dev/null) if [ -n "$PORT_4040" ] || [ -n "$PORT_4041" ]; then echo "⚠️ ただし、ngrokのポートが使用中です:" [ -n "$PORT_4040" ] && echo " - ポート4040 (PID: $PORT_4040)" [ -n "$PORT_4041" ] && echo " - ポート4041 (PID: $PORT_4041)" echo "" read -p "これらのプロセスを停止しますか? (y/N): " -n 1 -r echo "" if [[ $REPLY =~ ^[Yy]$ ]]; then [ -n "$PORT_4040" ] && kill -9 $PORT_4040 2>/dev/null && echo "✅ ポート4040のプロセスを停止" [ -n "$PORT_4041" ] && kill -9 $PORT_4041 2>/dev/null && echo "✅ ポート4041のプロセスを停止" fi fi exit 0 fi # プロセス一覧表示 echo "📋 見つかったngrokプロセス:" echo "" printf "%-10s %-10s %-10s %s\n" "PID" "USER" "PORT" "COMMAND" echo "------------------------------------------------------------" for pid in $NGROK_PIDS; do USER=$(ps -p $pid -o user= 2>/dev/null) CMD=$(ps -p $pid -o cmd= 2>/dev/null) # ポート番号を抽出(もし含まれていれば) PORT=$(echo "$CMD" | grep -oP '\d+$' | head -1) [ -z "$PORT" ] && PORT="-" printf "%-10s %-10s %-10s %s\n" "$pid" "$USER" "$PORT" "$CMD" done echo "" echo "==========================================" echo "" # 現在のユーザー CURRENT_USER=$(whoami) # 各プロセスを処理 for pid in $NGROK_PIDS; do PROC_USER=$(ps -p $pid -o user= 2>/dev/null) CMD=$(ps -p $pid -o cmd= 2>/dev/null | head -c 80) echo "プロセス PID $pid (User: $PROC_USER)" echo "コマンド: $CMD" echo "" if [ "$PROC_USER" != "$CURRENT_USER" ]; then echo "⚠️ このプロセスは別のユーザー($PROC_USER)が起動しています" echo " あなたのユーザー名: $CURRENT_USER" echo "" echo "💡 このプロセスは停止できません" echo " 停止するには以下のいずれかの方法を試してください:" echo "" echo " 1. 元のターミナル/ウィンドウでCtrl+Cを押す" echo " 2. sudo権限で停止する:" echo " sudo kill -9 $pid" echo "" continue fi # 自分のプロセスの場合 read -p "このプロセスを停止しますか? (Y/n): " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Nn]$ ]]; then # まずSIGTERMを試す echo " 送信: SIGTERM..." kill $pid 2>/dev/null # 少し待つ sleep 2 # まだ生きているか確認 if ps -p $pid > /dev/null 2>&1; then echo " ⚠️ まだ実行中です。強制停止を試みます..." kill -9 $pid 2>/dev/null sleep 1 if ps -p $pid > /dev/null 2>&1; then echo " ❌ 停止できませんでした" echo "" echo " 💡 手動で停止してください:" echo " kill -9 $pid" echo "" else echo " ✅ 強制停止しました (SIGKILL)" echo "" fi else echo " ✅ 停止しました" echo "" fi else echo " ⏭️ スキップしました" echo "" fi done echo "==========================================" echo "📊 最終確認" echo "==========================================" echo "" # 最終確認 REMAINING=$(pgrep -f "ngrok") if [ -z "$REMAINING" ]; then echo "✅ すべてのngrokプロセスが停止しました" else echo "⚠️ まだngrokプロセスが実行中です:" echo "" for pid in $REMAINING; do USER=$(ps -p $pid -o user= 2>/dev/null) CMD=$(ps -p $pid -o cmd= 2>/dev/null | head -c 60) echo " PID $pid (User: $USER)" echo " $CMD" done echo "" if [ "$USER" != "$CURRENT_USER" ]; then echo "💡 これは別のユーザー/セッションのプロセスです" echo "" echo " 停止方法:" echo " 1. そのターミナルを見つけて Ctrl+C" echo " 2. sudo kill -9 $REMAINING" echo " 3. システム再起動(最終手段)" echo "" # ポート使用状況 echo "📡 ポート使用状況:" lsof -i:4040,4041 2>/dev/null || echo " ポート4040/4041は使用されていません" fi fi echo ""

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Amana03/universal-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server