「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)