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

2025-04-06 01:50:15
推荐回答(4个)
回答1:

可以使用: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

回答2:

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

* soft nofile 65535
* hard nofile 65535

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

回答3:

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

回答4:

lsof命令
lsof /etc/hosts