当前位置 : 主页 > 操作系统 > centos >

lsof命令 - 找出谁在Linux中使用文件

来源:互联网 收集:自由互联 发布时间:2021-04-07
在本文中,我们将解释如何在Linux中找出使用特定文件的用户。这将帮助您了解使用打开文件的系统用户或进程。 我们可以使用lsof命令来了解是否有人正在使用文件,如果有人,则是谁

在本文中,我们将解释如何在Linux中找出使用特定文件的用户。这将帮助您了解使用打开文件的系统用户或进程。

我们可以使用lsof命令来了解是否有人正在使用文件,如果有人,则是谁在使用。 它在搜索打开文件时读取内核内存,并帮助您列出所有打开的文件。 在这种情况下,打开的文件可以是常规文件,目录,块特殊文件,字符特殊文件,流,网络文件等等 - 因为在Linux中,一切都是文件。

Lsof用于文件系统,以识别谁正在使用该文件系统上的所有文件。 您可以在Linux文件系统上运行lsof命令,输出使用该文件标识进程的所有者和进程信息,如以下输出所示。

558idc@558idc:~/558idc.com$ lsof /dev/null
COMMAND    PID    USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
systemd  2263 558idc    0r  CHR    1,3      0t0    6 /dev/null
dbus-daem 2293 558idc    0u  CHR    1,3      0t0    6 /dev/null
gnome-ses 2297 558idc    0r  CHR    1,3      0t0    6 /dev/null
at-spi-bu 2396 558idc    0r  CHR    1,3      0t0    6 /dev/null
dbus-daem 2401 558idc    0u  CHR    1,3      0t0    6 /dev/null
at-spi2-r 2404 558idc    0u  CHR    1,3      0t0    6 /dev/null
gnome-she 2421 558idc    0r  CHR    1,3      0t0    6 /dev/null
gvfsd    2427 558idc    0r  CHR    1,3      0t0    6 /dev/null
gvfsd-fus 2432 558idc    0r  CHR    1,3      0t0    6 /dev/null
pulseaudi 2444 558idc    0r  CHR    1,3      0t0    6 /dev/null
pulseaudi 2444 558idc    1w  CHR    1,3      0t0    6 /dev/null
pulseaudi 2444 558idc    2w  CHR    1,3      0t0    6 /dev/null
ibus-daem 2457 558idc    0r  CHR    1,3      0t0    6 /dev/null
ibus-dcon 2461 558idc    0r  CHR    1,3      0t0    6 /dev/null
......

lsof命令 - 找出谁在Linux中使用文件

要列出特定的用户已打开文件,请运行以下命令,将实际用户名替换558idc。

558idc@558idc:~/558idc.com$ lsof -u 558idc -t

lsof的另一个重要用途是找出侦听特定端口的进程。 例如,使用以下命令标识侦听端口80的进程。

558idc@558idc:~/558idc.com$ sudo lsof -i TCP:80
[sudo] 558idc 的密码:
COMMAND PID    USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
nginx  948    root    6u  IPv4  42296      0t0  TCP *:http (LISTEN)
nginx  948    root    7u  IPv6  42297      0t0  TCP *:http (LISTEN)
nginx  949 www-data    6u  IPv4  42296      0t0  TCP *:http (LISTEN)
nginx  949 www-data    7u  IPv6  42297      0t0  TCP *:http (LISTEN)

lsof命令 - 找出谁在Linux中使用文件

注意:由于lsof在搜索打开文件时读取内核内存,因此内核内存的快速更改可能会导致不可预测的输出。 这是使用lsof命令的主要缺点之一。

有关更多信息,请查看lsof手册页:

558idc@558idc:~/558idc.com$ man lsof

lsof命令 - 找出谁在Linux中使用文件

就这样! 在本文中,我们已经解释了如何知道谁在Linux中使用特定文件。 我们已经展示了如何使用打开的文件识别进程的所有者和进程信息。 如果您有任何问题或意见,请使用下面的留言与我们联系。

网友评论