零細システムエンジニアの備忘録

RPA、サーバ、ネットワークに関する設定メモ、導入相談もコメント欄やメールに頂ければお答えしますのでお気軽にご相談下さい(^^)

【Cent OS】使っていないのにdevice is busyのエラーが出る! lsofコマンドでサーバの開放ポートの確認とファイル使用状況の確認

Linuxサーバ構築してapacheMySQL等のサービス確認を際に利用すると便利なlsofコマンド実際の利用方法は下記になります。

# lsof -i:80,443
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 3670 root 28u IPv4 57789409 TCP *:https (LISTEN)
httpd 3670 root 29u IPv4 57789410 TCP *:http (LISTEN)
httpd 3671 root 28u IPv4 57789409 TCP *:https (LISTEN)
httpd 3671 root 29u IPv4 57789410 TCP *:http (LISTEN)
httpd 3672 root 28u IPv4 57789409 TCP *:https (LISTEN)

接続している相手も分かるので便利です。

またそれ以外の使い方として、私がよく遭遇するのですが
NFSマウントしているのをアンマウントしようするときに、使用中でアンマウントできませんとエラーが出る場合があります(;^_^A

どこで使用しているのかわからなく困る事があると思いますが

その時でも利用できます。

# umount /mnt

umount.nfs4: /mnt: device is busy

使用しているのを確認 

# lsof | grep /mnt
bash 31085 root cwd DIR 0,41 74 537238240 /mnt (192.168.100.15:/home/share)

今回別ターミナルでカレントディレクトに/mntだった場合上記のように表示されます。

プロセスIDがあるのでkill -9 コマンドで消せばumountができるようになります。