テクニカル雑記帳です
特定のポートを開いているプロセスを殺す
特定のポートで実行中のプロセスを調べる
$ lsof -i:3314
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
com.docke 771 user_name 20u IPv4 0x6e99dd572d5a95e7 0t0 TCP *:uohost (LISTEN)
com.docke 771 user_name 21u IPv6 0x6e99dd572593ae5f 0t0 TCP localhost:uohost (LISTEN)
lsof コマンドを使います
今回つけているオプションは -i:xxxx で、これはポート番号を指定しています
結果に出てくる項目は
COMMAND:プロセスが実行しているコマンド(プログラム)
PID:そのポートを利用しているプロセスのID
USER:プロセスの実行ユーザー
FD:ファイルディスクリプター
TYPE:ファイルの種別
DEVICE:デバイスID
SIZE/OFF:ファイルのサイズまたはオフセット
NODE:プロトコル
NAME:ポート名
という感じ
NAMEについている (LISTEM) は待ち受け状態であることを表している
特定のプロセスを殺す
$ kill -9 771
kill コマンドを使います
基本は kill PID です-9 コマンドは強制終了
ちなみに、 -0 オプションをつけるとプロセスを殺さずに存在確認だけができます
プロセスが存在すると出力はなく、プロセスが存在しないとエラーメッセージがかえってきます