[解決済み] .BATから使用中のポートを検索してプロセスを停止させる
質問
Windows では、何がポート 8080 を探し、.BAT ファイルを通して使用中のプロセスを終了させることができますか?
どのように解決するのですか?
以下は、そのためのコマンドです。
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :8080') DO @ECHO TaskKill.exe /PID %%P
バッチファイルの作成に自信がついたら、次のように
@ECHO
.
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :8080') DO TaskKill.exe /PID %%P
OSが異なる場合は、これを少し変更する必要があるかもしれないことに注意してください。 例えば、Windows 7 では
tokens=5
の代わりに
tokens=4
.
この仕組みについて
FOR /F ... %variable IN ('command') DO otherCommand %variable...
これにより
command
を実行し、その出力をループします。 それぞれの行は
%variable
に詰められ、展開されると
otherCommand
を何度でも、好きな場所で展開することができます。
%variable
は、実際の使用では一文字の名前しか持つことができません。
%V
.
"tokens=4 delims= "
これにより、各行を空白で分割し、その行の4番目のチャンクを取り出し、それを
%variable
(に詰め込みます(この例では
%%P
).
delims
は空白に見えますが、この余分なスペースは実は重要なのです。
netstat -a -n -o
実行すればわかります。 コマンドラインのヘルプによると、"すべての接続とリスニングポートを表示します"、"アドレスとポート番号を数値で表示します"、"それぞれの接続に関連する所有プロセスIDを表示します"。 誰かが提案したので、これらのオプションを使用したところ、たまたまうまくいきました :)
^|
これは、最初のコマンドやプログラムの出力を取り込みます (
netstat
) の出力を受け取り、それを二番目のコマンドプログラム (
findstr
). もし、これをコマンド文字列の中ではなく、コマンドラインで直接使う場合は
|
の代わりに
^|
.
findstr :8080
これは、渡されたすべての出力をフィルタリングし、以下のものを含む行だけを返します。
:8080
.
TaskKill.exe /PID <value>
プロセスIDを使用して、実行中のタスクを終了させます。
%%P instead of %P
これは、バッチファイルでは必須です。 もし、コマンドプロンプトでこれを行った場合、次のようになります。
%P
を代わりに使用します。
関連
-
[解決済み] ポート8005はWindows 10のシステムプロセスで使用されます。
-
Win10の時間切れタスクの問題解決:タスクがまだ実行されていない (0x41303)
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] Linuxで特定のポートで動作しているプロセスを停止させる方法は?
-
[解決済み] Windowsでlocalhostのポートを使用中のプロセスを強制終了するにはどうすればよいですか?
-
[解決済み] Windowsのコマンドラインからアプリケーションの終了コードを取得するにはどうすればよいですか?
-
[解決済み] アプリケーションやプロセスの実際のメモリ使用量を測定するにはどうすればよいですか?
-
[解決済み] 何が私のプロセスを殺したのか、なぜなのか?
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】Windowsのバッチファイル:.batと.cmdの違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】xcopyでexcludeパラメータを設定すると「パラメータの数が無効です」というエラーが返ってくる。
-
[解決済み] パッケージ pdftex.def Error: File not found: ドラフト設定を使っています。
-
[解決済み] ポート8005はWindows 10のシステムプロセスで使用されます。
-
[解決済み] terasso libraryでUnknown errorが発生し、vbaを使用してteradataに接続できない。
-
[解決済み] 'ant' は内部コマンドまたは外部コマンドとして認識されません。
-
[解決済み] 設定ファイルを開くことができません。Windowsの/usr/local/ssl/openssl.cnf [重複] を開くことができません。
-
Win10の時間切れタスクの問題解決:タスクがまだ実行されていない (0x41303)
-
[解決済み] ファイルパスの前に付ける「୧⃛(๑⃙⃘◡̈๑⃙⃘)୨⃛」は何ですか?
-
[解決済み] 管理者として実行せずにネットワークドライブにマップするためのBATファイル
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?