linux如何查找到某一个进程在调用哪些文件?
发布网友
发布时间:2022-04-24 16:03
我来回答
共4个回答
热心网友
时间:2023-10-21 07:55
Linux把一切的资源都当作是文件,无论是IO口,设备,文件还是程序都被看作是文件。查看它们之间的依赖关系用命令:pstree
热心网友
时间:2023-10-21 07:56
1. 取得进程号
cba001:/proc/26751/fd # ps -ef|grep named
root 17066 26915 0 13:06 pts/8 00:00:00 grep named
root 26751 1 0 Jul06 ? 00:02:06 /opt/***/***/usr/bin/named
[注]: 执行ps -ef|grep named取得named的进程号为26751
2.查看打开的文件
cba001:/proc/26751/fd # ls -al /proc/26751/fd/
total 20
dr-x------ 2 root vboxusers 0 Jul 21 12:48 .
dr-xr-xr-x 5 root vboxusers 0 Jul 6 10:25 ..
lrwx------ 1 root vboxusers 64 Jul 21 12:48 0 -> /dev/null
lrwx------ 1 root vboxusers 64 Jul 21 12:48 1 -> /dev/null
lr-x------ 1 root vboxusers 64 Jul 21 12:48 10 -> /dev/random
lrwx------ 1 root vboxusers 64 Jul 21 12:48 2 -> /dev/null
lrwx------ 1 root vboxusers 64 Jul 21 12:48 20 -> socket:/[64750499]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 21 -> socket:/[64750501]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 22 -> socket:/[64750503]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 23 -> socket:/[64750506]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 24 -> socket:/[64750507]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 3 -> socket:/[64750437]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 4 -> /dev/null
lr-x------ 1 root vboxusers 64 Jul 21 12:48 5 -> pipe:/[64750439]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 512 -> socket:/[64750498]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 513 -> socket:/[64750500]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 514 -> socket:/[64750502]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 515 -> socket:/[64750504]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 516 -> socket:/[64750505]
l-wx------ 1 root vboxusers 64 Jul 21 12:48 7 -> pipe:/[64750439]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 8 -> socket:/[64750441]
lrwx------ 1 root vboxusers 64 Jul 21 12:48 9 -> /var/***/logs/***_trans.log
[注]:执行ls -al /proc/26751/fd/就可以看到所有的26751进程打开的文件描述符
热心网友
时间:2023-10-21 07:56
ps 进程号。
热心网友
时间:2023-10-21 07:57
lsof -p 进程号
查看哪个进程占用文件
1. 使用lsof命令:`lsof`是一个在Linux和Unix系统上常用的命令,用于显示当前系统打开的文件和进程信息。通过该命令,我们可以找到哪些进程正在使用特定的文件。2. 命令格式:使用`lsof`命令时,通常的格式是`lsof 文件名`。例如,要查看哪个进程正在占用名为`/path/to/file`的文件,可以在终端中输入`...
linux如何查找到某一个进程在调用哪些文件?
Linux把一切的资源都当作是文件,无论是IO口,设备,文件还是程序都被看作是文件。查看它们之间的依赖关系用命令:pstree
查看文件被哪个进程占用
在Unix和Linux系统中,当需要确定某个文件被哪个进程占用时,可以使用特定的命令来查看。这些命令可以帮助我们列出当前系统上所有打开的文件以及相应的进程信息。2. 使用lsof命令:lsof是一个常用的命令,可以用来列出当前系统打开的文件。通过执行`lsof 文件名`,可以查找特定文件被哪些进程所使用。这个命令会...
linux进程如何查看进程详情?
首先,为了找出文件被哪个进程使用,我们通常会使用`lsof`命令。然而,在某些情况下,`lsof`可能无法找到进程信息。在这种情况下,我们需要寻找其他方法来定位到文件的使用情况。在CentOS 7系统中,当监控磁盘使用率接近99%时,为了获取快照信息,我们需要执行一系列命令,如`iostat -dx -k`,`sar -u`...
Linux教程:查看某个进程在特定端口上侦听的3种方法
首先,使用netstat命令。它显示网络连接、路由表和接口统计信息,适用于Unix和Windows操作系统。若未安装,可通过命令进行安装。使用netstat与grep命令结合,查找特定端口的进程或服务,命令格式为netstat -an | grep "指定端口"。其次,lsof命令用于列出Linux系统上所有打开的文件。若要查找特定端口的进程或...
linux如何查找到某一个进程在调用哪些文件
ps -ef|grep process_name #找到进程ID ls -la /proc/进程ID/fd #查看打开的文件
linux如何查找到某一个进程在调用哪些文件
Linux中查找被进程使用的所有文件,可以使用lsof命令,但是默认情况下lsof会将系统上已经打开的文件都列出来,所以常常需要用管道符加grep命令,选取指定的进程的信息,比如如下命令列出init进程在使用哪些文件:lsof | grep init
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 得到文件描述符指向的实际文件,即当前进程打开的...
linux 查看文件被哪个进程占用
在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:lsof -i :port_number grep "(LISTEN)"-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要...
Linux通过进程ID查找文件路径
步骤1:定位进程PID首先,使用ps和grep组合命令找到目标进程的PID。例如:shellps aux | grep [目标进程名称]步骤2:查看进程详细信息在/proc/[PID]目录下,有众多文件提供进程信息。如查看可执行文件路径,需关注的文件是/proc/[PID]/exe。步骤3:查看可执行文件路径使用ls -l命令查看/proc/[PID]/...