导航:首页 > 编程系统 > linux查看进程调用

linux查看进程调用

发布时间:2024-12-15 10:19:15

linux怎么查看某个程序的进程

方法一:PS
在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为内<pid>的进程创建的所有容线程。
$ ps -T -p <pid>
“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。
方法二: Top
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。
$ top -H
要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:
$ top -H -p <pid>

② linux如何查找到某一个进程在调用哪些文件

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进程打开的文件描述符

③ 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

④ linux下使用pmap和ldd查看进程调用了什么lib

pmap PID #查看静态内存使用情况
top #按shift+m 按照内存使用情况进行排序
ps -ef | grep nginx #查看PID 比1234
cat /proc/1234/status #查看详细信息
RSS列 表示 程序占用少物理内存 虚拟内存用考虑并占用实际物理内存 (2). top 命令 其VIRT(或VSS)列 表示程序占用少虚拟内存 同 ps aux VSZ列 RES列 表示 程序占用少物理内存同 ps aux RSS列 2.linux 查看前系统占用少内存 般命令 free其 free系统少内存使用由于 linux 系统内存使用原则 内存宝贵 能使用少使用少 所 linux已经调用包缓存起放内存实际使用内存理解 free+buffers+cached3.解完些命令 再使用ps aux 命令查看候 发现奇怪现象 所 RSS 列数据加起 比物理内存数要 比 物理内存2G RSS列数据加起能5G 事 RSS列值骗我 linux内存机制: 运行程序 linux调用该程序依赖链接库 lib.xx.so 首先看该链接库否映射进内存没映射则代码段与数据段映射内存否则其加入进程址空间 N程序依赖lib.xx.so候 实际内存lib.xx.so N RSS显示程序占用实际物理内存 lib.xx.so算进 比 X程序 本身占用内存5M lib.xx.so 占用内存2Mlib.xx.soN程序共享依赖 则RSS显示X程序运行占用内存7M 实际 X程序占用5M空间 余2m讨入RSS 用ps aux显示内存占用情况 N共享依赖lib.xx.soN程序都2m空间算自RSS RSSsum值比实际物理内存 linux内存使用机制复杂 句两句能说清楚简单说明 ps auxRSS值 并能真实反映物理内存使用情况 4. 查看更详细内存使用情况 用几种 或者几种结合使用:几种都需要root账户权限(1). pmap -d $pid $pid 运行程序pid(2). cat /proc/$pid/smaps smaps数据比较详细简单归纳归纳命令: cat /proc/$pid/smaps | awk '/Size|Rss|Pss|Shared|Private|Referenced|Swap/{val_name=gensub(/([a-zA-Z_]*).*/,"\\1",1,$1); list[val_name]+=$2; }END{for(val in list)print val,list[val];}' (3). cat /proc/$pid/maps(4). cat /proc/$pid/statm输解释第列 size:任务虚拟址空间 第二列 Resident:使用物理内存 第三列 Shared:共享页数第四列 Trs:程序所拥执行虚拟内存 第五列 Lrs:映像倒任务虚拟内存空间库 第六列 Drs:程序数据段用户态栈 第七列 dt:脏页数量(5). vmstat命令据说提供些参考信息具体未研究 5.作phper尝试使用php函数memory_get_usage() 该函数能php前运行程序实际真占用内存数量 真想php真占用内存 概能, 程序运行始执行memory_get_usage(). 程序运行结束执行memory_get_usage() 两者值相减值 应该相比较准确内存占用数量 没测试 考虑 数量没实际意义 加平比较忙懒试

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

可以使用: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如何查找到某一个进程在调用哪些文件

Linux中查找被进程使用的所有文件,可以使用lsof命令,但是默认情况下lsof会将系统上已经打开版的文件都权列出来,所以常常需要用管道符加grep命令,选取指定的进程的信息,比如如下命令列出init进程在使用哪些文件:
lsof | grep init

⑦ linux下使用pmap和ldd查看进程调用了什么lib

pmap PID #查看静态内存使用情况top #按shift+m 按照内存使用情况进行排序
ps -ef | grep nginx #查看PID 比1234
cat /proc/1234/status #查看详细信息
RSS列 表示 程序占用少物理内存 虚拟内存用考虑并占用实际物理内存 (2). top 命令 其VIRT(或VSS)列 表示程序占用少虚拟内存 同 ps aux VSZ列 RES列 表示 程序占用少物理内存同 ps aux RSS列 2.linux 查看前系统占用少内存 般命令 free其 free系统少内存使用由于 linux 系统内存使用原则 内存宝贵 能使用少使用少 所 linux已经调用包缓存起放内存实际使用内存理解 free+buffers+cached3.解完些命令 再使用ps aux 命令查看候 发现奇怪现象 所 RSS 列数据加起 比物理内存数要 比 物理内存2G RSS列数据加起能5G 事 RSS列值骗我 linux内存机制: 运行程序 linux调用该程序依赖链接库 lib.xx.so 首先看该链接库否映射进内存没映射则代码段与数据段映射内存否则其加入进程址空间

阅读全文

与linux查看进程调用相关的资料

热点内容
编程学到了什么收获了什么 浏览:910
ps存储文件太大闪退 浏览:948
excel如何准确无误录入大量数据 浏览:94
保存的excel文件怎么继续制作 浏览:874
借钱app图标大全 浏览:913
还可以有哪些数据来源 浏览:862
软件编程的在线培训机构有哪些 浏览:597
小米电视官方网站专卖店是哪个 浏览:450
全民k歌升级分数标准 浏览:565
excel文件名变成红色 浏览:965
如何删除date中的文件 浏览:940
魔域文件哪个可以删除 浏览:612
忘记财富证券交易密码 浏览:717
找不到一个ini文件 浏览:425
win10激活码激活码 浏览:662
91桌面如何改文件夹名 浏览:411
qq飞车紫韵下装图片 浏览:889
jsppage 浏览:519
企业qq消息怎么撤回 浏览:221
win7flash临时文件 浏览:728

友情链接