linux 进程打开的文件,查看文件句柄数 linux
老铁们,大家好,相信还有很多朋友对于linux 进程打开的文件和查看文件句柄数 linux的相关问题不太懂,没关系,今天就由我来为大家分享分享linux 进程打开的文件以及查看文件句柄数 linux的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
linux怎么看进程使用哪个文件启动的
lsof命令是什么?
可以列出被进程所打开的文件信息。被打开的文件可以是:
1.普通的文件,
2.目录
3.网络文件系统的文件,
4.字符设备文件
5.(函数)共享库
6.管道,命名管道
7.符号链接
8.底层的socket字流,网络socket,unix域名socket
9.在linux里面,大部分的东西都是被当做文件的……还有其他很多
怎样使用lsof
这里主要用案例的形式来介绍lsof命令的使用
1.列出所有打开的文件:
lsof
备注:如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位
2.查看谁正在使用某个文件
lsof/filepath/file
3.递归查看某个目录的文件信息
lsof+D/filepath/filepath2/
备注:使用了+D,对应目录下的所有子目录和文件都会被列出
4.比使用+D选项,遍历查看某个目录的所有文件信息的方法
lsof| grep‘/filepath/filepath2/’
5.列出某个用户打开的文件信息
lsof-u username
备注:-u选项,u其实是user的缩写
6.列出某个程序所打开的文件信息
lsof-c mysql
备注:-c选项将会列出所有以mysql开头的程序的文件,其实你也可以写成 lsof| grep mysql,但是第一种方法明显比第二种方法要少打几个字符了
7.列出多个程序多打开的文件信息
lsof-c mysql-c apache
8.列出某个用户以及某个程序所打开的文件信息
lsof-u test-c mysql
9.列出除了某个用户外的被打开的文件信息
lsof-u ^root
备注:^这个符号在用户名之前,将会把是root用户打开的进程不让显示
10.通过某个进程号显示该进行打开的文件
lsof-p 1
11.列出多个进程号对应的文件信息
lsof-p 123,456,789
12.列出除了某个进程号,其他进程号所打开的文件信息
lsof-p ^1
13.列出所有的网络连接
lsof-i
14.列出所有tcp网络连接信息
lsof-i tcp
15.列出所有udp网络连接信息
lsof-i udp
16.列出谁在使用某个端口
lsof-i:3306
17.列出谁在使用某个特定的udp端口
lsof-i udp:55
特定的tcp端口
lsof-i tcp:80
18.列出某个用户的所有活跃的网络端口
lsof-a-u test-i
19.列出所有网络文件系统
lsof-N
20.域名socket文件
lsof-u
21.某个用户组所打开的文件信息
lsof-g 5555
22.根据文件描述列出对应的文件信息
lsof-d description(like 2)
23.根据文件描述范围列出文件信息
lsof-d 2-3
linux查看文件使用进程linux查看进程文件
linux查看进程由哪个进程启动?
1、查看进程“打开”的文件(方法1):
1)pidofprograme-name(获得想了解的进程(programe-name)的PID)或ps-aux|grepprograme-name(获得想了解的进程(programe-name)的PID)找出进程的PID2)cd/proc/$PID/fd(会看见文件描述符)
3)ls-l得到文件描述符指向的实际文件,即当前进程打开的文件2、查看进程“打开”的文件(方法2):
1)获得想了解的进程的PID方法同上2)lsof-cprograme-name或lsof-p$PID
linux中,怎么查看进程所对应的服务名呢?
1。查看进程占用的端口号netstat-anp#netstat-anp|grepsyslogudp000。0。0。0:5140。
0。0。0:*31483/syslogd
2。
查看使用端口号的进程lsof#lsof-i:514COMMANDPIDUSERFDTYPEDEVICESIZENODENAMExinetd4027root6uIPv48560TCP*:shell(LISTEN)syslogd31483root8uIPv4428081UDP*:syslog。
linux系统中如何查看进程号?
linux系统中查看进程号的方法如下
1、ps命令查找与进程相关的PID号:
2、psa显示现行终端机下的所有程序,包括其他用户的程序。
3、ps-A显示所有程序。
4、psc列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
5、ps-e此参数的效果和指定A参数相同。
6、pse列出程序时,显示每个程序所使用的环境变量。
7、psf用ASCII字符显示树状结构,表达程序间的相互关系。
8、ps-H显示树状结构,表示程序间的相互关系。
9、ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。
10、pss采用程序信号的格式显示程序状况。
11、psS列出程序时,包括已中断的子程序资料。
12、ps-t终端机编号>指定终端机编号,并列出属于该终端机的进程状况。
linux下查看进程用什么命令?
linux下查看进程可以使用的命令:
1、ps命令查找与进程相关的PID号:
2、psa显示现行终端机下的所有程序,包括其他用户的程序。
3、ps-A显示所有程序。
4、psc列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
5、ps-e此参数的效果和指定"A"参数相同。
6、pse列出程序时,显示每个程序所使用的环境变量。
7、psf用ASCII字符显示树状结构,表达程序间的相互关系。
8、ps-H显示树状结构,表示程序间的相互关系。
9、ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。
10、pss采用程序信号的格式显示程序状况。
11、psS列出程序时,包括已中断的子程序资料。
12、ps-t终端机编号>指定终端机编号,并列出属于该终端机的程序的状况。
13、psu以用户为主的格式来显示程序状况。
14、psx显示所有程序,不以终端机来区分。
Linux查看进程打开多少文件描述符命令?
linux系统下查看进程打开文件在/proc下,对应每个进程有一个以进程号命名的目录,该目录下有一个fd目录,该目录下面的每个文件是一个符号连接,其文件名对应该进程占用的一个文件描述符,而连接指向的内容表示文件描述符对应的实际文件,有多少个文件描述符表示该进程打开了多少文件。
另外Linux默认的进程打开文件上限是1024个,可以通过ulimit-n查看。很多系统上限可以通过修改/etc/security/limits.conf文件改变,这个文件有详细的注释,对如何修改做了说明。
如果希望把所有用户的进程打开文件上限改为65536,可以加入下面两行*softnofile65535*hardnofile65535还可以只真对某个用户或某个组做修改,具体方法参见文件注释。
修改后需要重新启动系统才能生效。
怎样查看linux进程打开的文件数
Linux文件数打开数
查看当前系统最大的文件打开数,
在linux终端中输入ulimit-a
“open files”参数选项后面的数值就是当前系统支持的最大打开文件数
修改linux最大文件打开数
如果要修改linux最大文件打开数,可以通过参数命令 unlimit-n后面接需要设置的文件数量。
设置好之后,再次查看 unlimit-a你会发现已经设置为新的数量了
设置好之后,再次编辑修改重启设置的服务,已经没有刚刚那个1024文件数限制的报错提示
其他修改方法
除此之外,如果针对不同的用户。也可以通过编辑修改/etc/rc.local文件设置环境变量,添加 unlimit-n
,重启之后一般就自动设置好了
查看系统句柄文件数
当前系统文件句柄的最大数目,只用于查看,不能设置修改
cat/proc/sys/fs/file-max
查看进程打开文件数
如果需要查看所有进程的文件打开数,命令lsof|wc-l