「CentOS 7.9」lsofコマンドで使用中のファイルを確認する方法

環境

# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

書式
lsof [オプション[:[ポート番号|サービス]] [ファイル|プロセス]

主なオプション

-P	ポート番号をサービス名に変換しません。
-c	プロセス名を指定します。
-i	ネットワークソケットファイルを表示します。
-n	名前解決せずにIPアドレスで表示します。
-p	プロセスIDを指定します。
-a	AND条件で絞り込みます。

使用例
1.すべての使用中ファイルを表示

# lsof

2.特定のプロセスIDが使用中のファイルを調べます

# lsof -p 13056
COMMAND   PID  USER   FD      TYPE             DEVICE    SIZE/OFF      NODE NAME
nginx   13056 nginx  cwd       DIR              253,4        4096       128 /
nginx   13056 nginx  rtd       DIR              253,4        4096       128 /
nginx   13056 nginx  txt       REG              253,4     1101400   4232469 /usr/sbin/nginx

3.特定のプロセス名が使用中のファイルを確認します

# lsof -c nginx

4.特定のユーザが使用中のファイルを確認します

# lsof -u nginx

5.開いているポート番号を確認します

# lsof -i -sTCP:LISTEN -P
COMMAND   PID  USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
systemd     1  root   81u  IPv4     13022      0t0  TCP *:111 (LISTEN)
sshd      872  root    3u  IPv4     17166      0t0  TCP *:22 (LISTEN)
mysqld   1179 mysql   14u  IPv4     18665      0t0  TCP *:3306 (LISTEN)
master   1238  root   13u  IPv4     19561      0t0  TCP localhost:25 (LISTEN)
php-fpm  3109  root    7u  IPv4 182614546      0t0  TCP localhost:9000 (LISTEN)

 

CentOS 7

Posted by arkgame