230
204

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

lsofコマンド入門

Last updated at Posted at 2017-07-25

はじめに

サーバーで特定のポート番号を待ち受けているかどうか、指定ファイルは誰が読み込んでいるのかを調べたいときがあります。その際に役立つlsofコマンドについて調べてみました。

lsofコマンドとは

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

オプション

オプション 意味
-P ポート番号をサービス名に変換しない
-c プロセス名を指定する
-i ネットワークソケットファイルを指定する
-n IPアドレスを表示する(名前解決しない)
-p プロセスIDを指定する
-u ユーザー名を指定する

出力されている情報

項目 意味
COMMAND 実行されているコマンド
PID プロセスID
USER 実行ユーザー
FD ファイルディスクリプタ
TYPE タイプ
DEVICE デバイス
SIZE/OFF ファイルサイズ
NODE プロトコル
NAME ファイル又はポート

NAME

  • (LISTEN): 待ち受け状態

利用方法

全プロセスを表示する

オプションを付与しないと全てのプロセスについて表示する

$ lsof

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

$ lsof -i:80 -P 

特定のファイルを開いているプロセスを特定する

$ lsof /var/log/httpd/access_log

コマンドを指定する

$ lsof -c httpd

ユーザーを指定する

$ lsof -u nginx

ネットワークコネクションを出力する

$ lsof -i

ポート番号を指定する

$ lsof -i:80

複数ポート番号を指定できる

$ lsof -i:80,8080

まとめ

lsofコマンドは多機能なので全てを使いこなすのは難しそうですが、普段の運用で利用するのはほんの一握りの機能でも十分です。まずは基礎を覚えるだけでも、調査と原因究明が捗るようになるので、是非今後も利用していきたいです。

参考

230
204
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
230
204

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?