天天看點

fuser + lsof的使用

pidof :找出某支正在執行的程式的 PID

pidof sshd

[root@rhel-11 ~]# pidof mysqld

2245

Fuser 由檔案或檔案系統查找正在使用該檔案的程式

fuser -umv /mnt

-u 顯示PID,并顯示該程式的擁有者

-v 顯示command的完整性

-m 根據後面的文檔判定是以檔案系統的最頂層,這個選項對umount裝置很有用。

[root@kim ~]# fuser -uvm /linux

USER PID ACCESS COMMAND

/linux: root kernel mount (root)/linux

kim 2929 F.... (kim)VirtualBox

kim 2975 f.... (kim)acroread

然後再kill掉程序就可以,再umount裝置。

檢視文檔開啟的程式是那個

[root@rhel-11 ~]# fuser -uv /usr/local/mysql/tmp/mysql.sock

/usr/local/mysql/tmp/mysql.sock:

mysql 2245 F.... (mysql)mysqld

[root@rhel-11 ~]# lsof /usr/local/mysql/tmp/mysql.sock

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

mysqld 2245 mysql 14u unix 0xddaae740 6444 /usr/local/mysql/tmp/mysql.sock

删除開啟mysql.sock的程式

fuser -ki /usr/local/mysql/tmp/mysql.sock

Lsof 列出被程式開啟的檔案

+d 找出目錄下已經被開啟的檔案

[root@kim ~]# lsof +d /linux/

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

acroread 2975 kim 14r REG 253,0 23121212 1441828 /linux/books/Linux_vbird_v3.pdf

+D 搜尋目錄下的所有目錄,時間相對較長

[root@kim ~]# lsof +D /linux

lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /run/user/kim/gvfs

Output information may be incomplete.

VirtualBo 2929 kim 31w REG 253,0 48757 2883813 /linux/virtual-os/rhel-9-xen-shell/Logs/VBox.log

VirtualBo 2929 kim 35u REG 253,0 4777480192 2883807 /linux/virtual-os/rhel-9-xen-shell/rhel-kernel.vdi

acroread 2975 kim 21u REG 253,0 368812 1441810 /linux/books/shell/003.PDF

檢視目前系統所有已經開啟的的檔案

lsof

檢視由root所有程式開啟的檔案

lsof -u root

查年端口:22開啟的情況

lsof -i :22

檢視mysql使用者程式所開啟的檔案(-a -U 表示mysql開啟的socket檔案)

[root@rhel-11 ~]# lsof -u mysql -a -U

本文轉自 pk2008 51CTO部落格,原文連結:http://blog.51cto.com/837244/1134286

繼續閱讀