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进程管理:后台启动进程和任务管理命令
一.为什么要使程序在后台执行 我们的应用有时候要运行时间很长,如:几个小时甚至几个星期,我们可以让程序在后台一直跑. 让程序在后台运行的好处有: 终端关机不影响后台进程的运行.(不会终端一关机或者网络 ...
随机推荐
- Android无线测试之—UiAutomator UiScrollable API介绍七
滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕 ...
- 【BZOJ4551】[Tjoi2016&Heoi2016]树 并查集
[BZOJ4551][Tjoi2016&Heoi2016]树 Description 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两 ...
- maven 基本框架搭建
在平时的开发中还是在写blog时,在项目实例开始都会需要一遍一遍的介绍maven框架搭建,重复性的工作让我觉得烦恼,现在展现一下Java的核心思想“重复利用”,将这个重复性的描述提取出来一次性介绍,以 ...
- 将工程导入到SVN仓库
1.在桌面右键点开Tortoise客户端 2.选择仓库 3.在仓库的trunk目录下为新工程创建文件夹
- 170308、oracle查看被锁的表和解锁
--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...
- Centos7.0安装mysql5.6
环境 CentOS 7.0(64-bit system) mysql-5.6.37 一.mysql依赖libaio,所以要先安装libaio # yum search libaio ...
- HDU3231 Box Relations——三维拓扑排序
HDU3231 Box Relations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3231 题目意思:在一个三维空间上有一些棱和坐标轴平行的立方 ...
- requests设置Authorization
headers = {"Authorization", "Bearer {}".format(token_string)} r = requests.get(& ...
- Spring Data CrudRepository增删改查方法(八)
CrudRepository 的主要方法 long count(); boolean exists(Integer arg0); <S extends StudentPO> S sav ...
- 【使用时发生的意外】HDFS 分布式写入问题 AlreadyBeingCreatedException
进行追加文件时出现AlreadyBeingCreatedException错误 堆栈信息大致如下: org.apache.hadoop.ipc.RemoteException(org.apache.h ...