星空5G 导航

linux查看文件被哪些进程使用-

2024-09-16编辑:本站
linux 查看文件被哪个进程占用~

1、查看进程“打开”的文件 (方法1): 1)pidof programe-name(获得想了解的进程(programe-name)的PID) 或ps -aux|grep programe-name(获得想了解的进程(programe-name)的PID) 找出进程的PID 2)cd /proc/$PID/fd(会看见文件描述符) 3)ls -l 得到文件描述符指向的实际文件,即当前进程打开的文件2、查看进程“打开”的文件 (方法2): 1)获得想了解的进程的PID方法同上 2)lsof -c programe-name 或lsof -p $PID

ps -ef|grep process_name #找到进程ID
ls -la /proc/进程ID/fd #查看打开的文件

可以使用:ps -fe|grep filename,
也可以使用:fuser filename查看
然后可以看这个进程跟哪里东西有关联,使用了哪些端口
只查看该进程:ps -ef | grep ID
查看该进程打开的文件:lsof -p ID
查看内存分配:lcat /proc/ID/maps
查看堆栈:pstack 11ID
查看发出的系统调用:strace -p ID
查看调用库函数:ltrace -p ID

linux系统下查看进程打开文件
在/proc下,对应每个进程有一个以进程号命名的目录,该目录下有一个fd目录,该目录下面的每个文件是一个符号连接,其文件名对应该进程占用的一个文件描述符,而连接指向的内容表示文件描述符对应的实际文件,有多少个文件描述符表示该进程打开了多少文件。
另外Linux
默认的进程打开文件上限是1024个,可以通过ulimit
-n查看。很多系统上限可以通过修改/etc/security/limits.conf文件改变,这个文件有详细的注释,对如何修改做了说明。如果希望
把所有用户的进程打开文件上限改为65536,可以加入下面两行

* soft nofile 65535
* hard nofile 65535

还可以只真对某个用户或某个组做修改,具体方法参见文件注释。修改后需要重新启动系统才能生效。

lsof <file>
可以直接查看文件的使用状态

lsof命令
lsof /etc/hosts

相关内容

首页 新知 身健
返回顶部

© 星空5G w.xkyn.com