【Linux】lsofコマンド

  ■ lsof

LiSt Open Files : 開いているファイル群を列挙する
 * 待機ポートやプロセスで開かれているファイルを確認する

 

  ■ 用途

 * ファイルのオープンなどで別プロセスがつかんでいる場合の調査
 * 特定ポートを使用しているプロセスの調査

 

  ■ 環境設定

 * 「lsof」でコマンドが受け入れなかった場合

  インストール

RedHat
sudo yum -y install lsof
Debian
sudo apt-get install lsof

  インストールできない場合

http://shohonoho.g.hatena.ne.jp/talk/20110118/1295336715
より
netstat -tanp

 

  ■ コマンド例

  【例1】ポート80番を使用しているプロセスを確認

「-i:XX」で「-i」オプションに続けてポート番号を指定
sudo lsof -i:80

COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx     1142  root    6u  IPv4  24031      0t0  TCP *:http (LISTEN)
補足
 * サービス名も指定可能(例「-i:ssh」)
関連記事より 「特定のポートをオープンしているプロセスを調べる」
https://blogs.yahoo.co.jp/dk521123/36964337.html
https://blogs.yahoo.co.jp/dk521123/34704299.html

  【例2】Tomcatの実行プロセスを確認

# [1] jpsを実行(「1273 Bootstrap」など出力される)
jps

# [2] 「lsof -p [PID]」を実行
lsof  -p 1273