linux如何查找到某一个进程在调用哪些文件
发布网友
发布时间:2022-04-19 20:32
我来回答
共5个回答
热心网友
时间:2022-05-26 07:47
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
热心网友
时间:2022-05-26 09:05
可以使用: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
热心网友
时间:2022-05-26 10:40
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进程打开的文件描述符
热心网友
时间:2022-05-26 12:31
1.启动计算机时,在系统进入 Windows 启动画面前,按下 F8 键;出现操作系统多模式启动菜单后,用键盘上的方向键选择“SafeMode”,以安全模式启动计算机。 2.启动完成后,单击开始,在搜索框中输入regedit.exe;按下回车键;打开注册表编辑器。
热心网友
时间:2022-05-26 14:39
ps-ef|grepprocess_name#找到进程IDls-la/proc/进程ID/fd#查看打开的文件