Linux进程管理 lsof命令:列出进程调用或打开的文件信息
lsof命令
通过 ps 命令查询到系统中所有的进程, 通过lsof 命令可以知道这个进程到底在调用哪些文件。lsof 命令格式如下:
[root@localhost ~]# lsof [选项]
选项:
- -c 字符串: 只列出以字符串开头的进程打开的文件;
- +d 目录名: 列出某个目录中所有被进程调用的文件;
- -u 用户名: 只列出某个用户的进程打开的文件;
- -p pid: 列出某个 PID 进程打开的文件;
查询系统中所有进程调用的文件
[root@localhost ~]# lsof |more
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd root cwd DIR , /
systemd root rtd DIR , /
systemd root txt REG , /usr/lib/systemd/systemd
systemd root mem REG , /usr/lib64/libuuid.so.1.3.
按照 PID,从 1 号进程开始列出系统中所有的进程正在调用的文件名。
查询某个文件被哪个进程调用
[root@localhost ~]# lsof /usr/lib/systemd/systemd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd root txt REG , /usr/lib/systemd/systemd
lsof 命令也可以查询某个文件被哪个进程调用。
查询某个目录下所有的文件是被哪些进程调用的
[root@localhost ~]# lsof +d /usr/lib
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpc.idmap root mem REG , 279930 /usr/lib/libnfsidmap.so.0.3.
rpc.idmap root mem REG , 276696 /usr/lib/libevent-1.4.so.2.1.
avahi-dae avahi mem REG , 271310 /usr/lib/libavahi-common.so.3.5.
avahi-dae avahi mem REG , 283188 /usr/lib/libdaemon.so.0.5.
avahi-dae avahi mem REG , 268396 /usr/lib/libavahi-core.so.6.0.
avahi-dae avahi mem REG , 271310 /usr/lib/libavahi-common.so.3.5.
avahi-dae avahi mem REG , 283188 /usr/lib/libdaemon.so.0.5.
avahi-dae avahi mem REG , 268396 /usr/lib/libavahi-core.so.6.0.
cupsd root mem REG , 270210 /usr/lib/libtasn1.so.3.1.
使用“+d”选项可以搜索某个目录下所有的文件,查看到底哪个文件被哪个进程调用了。
查看以httpd开头的进程调用了哪些文件
[root@localhost ~]# lsof -c httpd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd root cwd DIR , /
httpd root rtd DIR , /
httpd root txt REG , 2855 /usr/local/apache2/bin/httpd
httpd root mem REG , /lib/libfreebl3.so
httpd root mem REG , /lib/libnss_files-2.12.s
httpd root mem REG , /lib/ld-2.12.so
httpd root mem REG , /lib/libc-2.12.so
…省略部分输出…
使用“-c”选项可以查询以某个字符串开头的进程调用的所有文件,比如执行“lsof-c httpd”命令就会查询出以 httpd 开头的进程调用的所有文件。
查询PID是1的进程调用的文件
[root@localhost ~]# lsof -p
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init root cwd DIR , /
init root rtd DIR , /
init root txt REG , /sbin/init
init root mem REG , /lib/ld-2.12.so
init root mem REG , /lib/libnss_files-2.12.so
当然,我们也可以按照 PID 查询进程调用的文件,比如执行“lsof -p 1”命令就可以查看 PID 为 1 的进程调用的所有文件。
按照用户名查询某个用户的进程调用的文件
[root@localhost ~]# lsof -u root
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init root cwd DIR , /
init root rtd DIR , /
init root txt REG , /sbin/init
init root mem REG , /lib/ld-2.12.so
init root mem REG , /lib/libnss_files-2.12.s
init root mem REG , /lib/libnih-dbus.so.1.0.
…省略部分输出…
查看某个用户的进程调用了哪些文件。
Linux进程管理 lsof命令:列出进程调用或打开的文件信息的更多相关文章
- 1、进程管理常用命令和进程ID
常用命令 1. ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器. 详细介绍参照:https://www.runoob.com/linu ...
- 通过某个进程号显示该进行打开的文件 lsof -p 1 11. 列出多个进程号对应的文件信息 lsof -p 123,456,789 5. 列出某个用户打开的文件信息 lsof -u username
linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用 lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系 ...
- 熟练使用Linux进程管理类命令
进程管理类命令 – ps命令 ps命令主要用于查看系统的进程 该命令的语法为:ps [参数] ps命令的常用参数选项有: -a:显示当前控制终端的进程(包含其他用户的). -u:显示进程的用户名和启动 ...
- Linux进程管理(二、 进程创建)
通常使用fork创建进程, 也可以用vfork()和clone().fork.vfork和clone三个用户态函数均由libc库提供,它们分别会调用Linux内核提供的同名系统调用fork,vfork ...
- Linux学习之lsof命令
lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 ...
- Linux服务器管理: 系统的进程管理ps命令
源码包:2015-06-30 12:11:25 首先我们可以通过网络去下载相应的源码包:我们以apache为例: [root@localhostA1 opt]# wget http://archive ...
- Linux快速入门教程-进程管理ipcs命令学习
使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...
- linux进程管理常用命令
初始化进程在centos5,6,7中的发展: 在centos5中使用sysv init 是一个shell脚本,依靠依次执行脚本中的命令启动系统,只能串行执行. 在centos6中使用upstart,也 ...
- Linux进程管理:后台启动进程和任务管理命令
一.为什么要使程序在后台执行 我们的应用有时候要运行时间很长,如:几个小时甚至几个星期,我们可以让程序在后台一直跑. 让程序在后台运行的好处有: 终端关机不影响后台进程的运行.(不会终端一关机或者网络 ...
随机推荐
- 复习及总结--.Net线程篇(3)
不幸的发现,原来多线程的东西还有好多. 不只是一个Thread就能把事情做完的,好吧,孤陋寡闻了 这里总结下 复习及总结--.Net线程篇(2)里的两个概念AppDomain和ThreadPool ...
- CH5102 Mobile Service【线性dp】
5102 Mobile Service 0x50「动态规划」例题 描述 一个公司有三个移动服务员,最初分别在位置1,2,3处.如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个 ...
- Ubuntu安装atom
sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get install atom 安装的时如果报错, ...
- UIAlertAction 改变字体颜色
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil pre ...
- Spark 源码分析 – BlockManagerMaster&Slave
BlockManagerMaster 只是维护一系列对BlockManagerMasterActor的接口, 所有的都是通过tell和askDriverWithReply从BlockManager ...
- Systemd 配置
一.开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件. 如果你想让该软件开机启动,就执行下面的命令(以httpd. ...
- Myeclipse更新SVNStatusSubscriber 时报告了错误。1 中的 0 个资源已经同步。
1.先确认SVN服务是否能连接,或权限. 方法:在项目目录下右键选择repo-browser 能打开就表示正常. 2.同样在项目目录下选择cleaup 选择下面3个选项 clean up workin ...
- JSON 序列化与反序列化(二)使用TypeReference 构建类型安全的异构容器
1. 泛型通常用于集合,如Set和Map等.这样的用法也就限制了每个容器只能有固定数目的类型参数,一般来说,这也确实是我们想要的. 然而有的时候我们需要更多的灵活性,如数据库可以用任意多的Column ...
- 前端 javascript 数据类型 字典
定义字典 a = {"k1":"v1","k2":"v2",}; Object {k1: "v1", ...
- thinkphp curd的事务回滚 一看就会
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/32314403 /** ...