目次
はじめに
サーバー関連について学習していた際によく使うlsofコマンドについてです!
使い方はLinuxのコマンドなので、manコマンドや-hオプションをつけると出てくるのですが、英語表記でパッとわかりにくい人も多いと思うのでまとめました。
参考サイト
このポートで実行中のプロセスはどれ? lsofコマンドの使い方
lsofコマンドとは
lsofコマンドは「LiSt Open Files」という英語の略です。
つまり、プロセスが開いているファイル」「を表示するコマンドです。
オプション
オプション | 意味 |
---|---|
-p | プロセスIDを指定する |
-i | ネットワークソケットファイルを指定する |
-n | IPアドレスを表示する |
-u | ユーザー名を指定する |
-c | プロセス名を指定する |
-P | ポート番号をサービス名に変換しない |
表示される項目
実際にlsofコマンドを実行するとババっと以下のような羅列が出てきます。
それぞれどのような意味かまとめます。
項目 | 意味 |
---|---|
COMMAND | 実行されているコマンド |
PID | プロセスID |
USER | 実行ユーザー |
FD | ファイルディスクリプタ |
TYPE | タイプ |
DEVICE | デバイス |
SIZE/OFF | ファイルサイズ |
NODE | プロトコル |
NAME | ファイル又はポート※待ち受け状態のポートは「(LISTEN)」と表示されています。 |
使い方
特定のポート番号で実行中のプロセスを調べる
$ lsof -i:80 -P
特定のファイルを開いているプロセスを特定する
$ lsof /var/log/httpd/access_log
コマンドを指定する
$ lsof -c httpd
ユーザーを指定する
$ lsof -u mysqld
ネットワークコネクションを出力する
$ lsof -i
ポート番号を指定する
$ lsof -i:80
$ lsof -i:80,8080
終わりに
ネットワークの管理をする上で非常に重要なコマンドであるlsofコマンド。
使用用途は多岐にわたるので、使いこなすまでには相当時間がかかるかも・・・