12.7 列出某个用户打开的文件
lsof -u
如果想查看由某个特定用户打开的文件(记住,文件也包括网络连接和设备等好多东西),可以在lsof
命令中增加一个-u
选项,后面跟上用户名(记住,lsof
必须以在root用户来运行)。
说明 为了节省篇幅,这里以及后面的几个例子中删除了一些运行
lsof
命令时通常会看到的数据。
# lsof -u scott
COMMAND PID USER NAMEP
evolution 8603 scott /home/scott/.evolution/
➥addressbook/local/system/addressbook.db
opera 11638 scott /usr/lib/opera/9.0/opera
opera 11638 scott /usr/share/fonts/truetype/
➥msttcorefonts/Arial_Bold.ttf
即使过滤掉其他所有用户,只留下一个(scott
),在列表中依然得到3 039行结果。但一些有趣的东西还在结果中。首先,结果表明Evolution(一个电子邮件和个人信息管理器程序)一直在运行,或者你就不知有这个程序,或者你还没有察觉到它。此外,Opera Web浏览器也在运行,这是可以预见的;而浏览器打开的一个网页需要使用Arial Bold字体文件,当然还需要其他文件。
如果你管理着一台供多人使用的计算机,可以为你的用户试试lsof -u
命令。或许你会发现他们正在运行一些他们不应该运行的程序。如果你是Linux计算机的唯一用户,也可以自己试试lsof -u
,或许会发现系统正在运行一些你不知道的程序。