該当のポートのプロセスをワンライナーで終了させる


はじめに

たまにnpm startでプロジェクトを実行しようとすると、下記の様なメッセージが表示されることがある。

ポートが被っているので他のポートを使って、実行しますか?
的なメッセージである。

上記の様に時々プロセスを実行したいのにポートが被っていて、つまずくことがあり、
該当のポートで起動しているプロセスを止める方法を共有致します。

コマンド

lsof -i :[ポート番号] -t | xargs kill

lsof -i :3000 -t | xargs kill

解説

lsof

プロセスが開いているファイルを表示するコマンド

オプション 意味
-i 待機ポートを確認する(ネットワークソケットファイルを表示する)
-t プロセスIDを表示する

xargs

標準入力やファイルからリストを読み込み、コマンドラインを作成して実行する

kill

実行中のプロセスを終了

lsof -i :3000 -t | xargs kill

3000ポートで起動しているプロセスを探し、
プロセスIDをxargs killに渡す。

xargsではlsof -i :3000 -tからもらった、
プロセスIDを使って、killを実行する

参考

lsofコマンド入門