あじちゃんのブログ。備忘録。

〜エンジニアもOLなんですかね?

特定のポートを開いているプロセスを殺す

特定のポートで実行中のプロセスを調べる

$ 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 オプションをつけるとプロセスを殺さずに存在確認だけができます
プロセスが存在すると出力はなく、プロセスが存在しないとエラーメッセージがかえってきます