文件描述符FD的含义/文件句柄
使用sudo lsof -nP -iTCP -sTCP:LISTEN查看占用端口的程序;因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能
概念
文件句柄是windows系统的概念,在linux下称之为文件描述符FD(file description)
常用命令
sort -nr 安装数字逆序排列 -n number -r reverse
uniq -c 统计相同项的数量,分两列显示,左列显示数量,右列显示内容 -c count
1)统计各进程打开FD数:lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr
2)统计各用户打开FD数:lsof -n|awk '{print $3}'|sort|uniq -c|sort -nr
3)统计各命令打开FD数:lsof -n|awk '{print $1}'|sort|uniq -c|sort -nr
单个进程的可用文件描述符的最大数量
ulimit -n
ulimit -a
强大的工具 lsof
man lsof
可以查看fd/type等各个字段的含义
FD:文件描述符,应用程序通过文件描述符识别该文件
1)cwd:表示 current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
2)txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
3)lnn: library references (AIX)
4)er: FD information error (see NAME column)
5)jld: jail directory(FreeBSD)
6)ltx: shared library text(code and data)
7)mxx: hex memory-mapped type number xx.
8)m86:DOS Merge mapped file
9) mem: memory-mapped file
10)mmap: memory-mapped device
11)pd: parent directory
12)rtd: root directory
13)tr: kernel trace file (OpenBSD)
14)v86 VP/ix mapped file
15)0:表示标准输出
16)1:表示标准输入
17)2:表示标准错误
一般在标准输出、标准错误、标准输入后还跟着文件状态模式:r/w/u 等
1)u:表示该文件被打开并处于读取/写入模式
2)r:表示该文件被打开并处于只读模式
3)w:表示该文件被打开并处于只写入模式
4)空格:表示该文件的状态模式为 unknown ,且没有锁定
5)- : 表示该文件的状态模式为 unknown ,且被锁定
同时在文件状态模式后面,还跟着相关的锁
1)N:for a Solaris NFS lock of unknown type
2)r: for a read lock on part of the file
3)R:for a read lock on the entire file
4)w: for a write lock on part of the file (文件的部分写锁)
5)W: for a write lock on the entire file(整个文件的写锁)
6)u: for a read and write lock of any length
7)U: for a lock of unknown type
8)x: for an SCO OpenServer Xenix lock on part of the file
9)X:for an SCO OpentServer Xenix lock on the entire file
10)space : if there is no lock
文件描述符FD的含义/文件句柄的更多相关文章
- 【详解】Linux的文件描述符fd与文件指针FILE*互相转换
使用系统调用的时候用文件描述符(file descriptor,简称fd)的时候比较多,但是操作比较原始.C库函数在I/O上提供了一些方便的包装(比如格式化I/O.重定向),但是对细节的控制不够. 如 ...
- 进程间传递文件描述符fd
众所周知,子进程会继承父进程已经打开的文件描述符fd,但是fork之后的是不会被继承的,这个时候是否无能无力了?答应是NO.Linux提供了一个系统调用sendmsg,借助它,可以实现进程间传递文件描 ...
- [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...
- 文件描述符fd
java 后台运行程序命令 nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 & 命令解释:后台启动 ...
- Linux中文件描述符fd和文件指针flip的理解
转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通 ...
- [转载] linux中文件描述符fd和文件指针flip的理解
转载自http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通 ...
- 文件描述符fd、文件指针fp和vfork()
1. fd:在形式上是一个非负整数.实际上他是一个索引值.指向kernal为每一个进程所维护的该进程打开文件的记录表. 当程序打开一个文件或者创建一个新文件的时候kernal向进程返回一个文件描述符. ...
- linux文件描述符fd(windows下的句柄)
在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件 fd:file descriptor 文件描述符0,1,2分别给了标准输入.标准输出和错误输出. ls - ...
- 文件描述符fd,struct files_struct
程序可以理解为硬盘上的普通二进制文件:进程是加载到内存中的二进制文件,除了加载到内存中的二进制文件外,还附有所有对于该二进制文件描述信息的结构体,描述该进程的结构体叫PCB(进程控制块),在这就不在讨 ...
随机推荐
- learning java AWT 手绘窗口
import java.awt.*;port java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import jav ...
- include和taglib指令
1.include指令用来包含另一个静态文件,这个静态文件可以是一个JSP页面.一个Servlet.文本文件.JSP代码. include.jsp <%@ page contentType=&q ...
- cube.js 学习(三)cube.js data schema
cube.js的 data schema 类似graphql 的type 定义,但是cube.js 的data schema 更偏向于dsl, 其中抽象了进行数据分析应用开发中的东西,自己提炼了mea ...
- RookeyFrame Bug 线上创建的DLL被删除了 模块无法删除 临时解决
不知道什么情况 在线创建模块,DLL被删除了,但是模块的相关数据无法删除.可以按照下面的方法临时用一下. 产生这个的原因,好像是Config里面的NeedInit一直都是true,没有改为false, ...
- leetcode解题报告(31):Kth Largest Element in an Array
描述 Find the kth largest element in an unsorted array. Note that it is the kth largest element in the ...
- 【一起来烧脑】读懂WebApp知识体系
背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...
- 64位内核第三讲,Windbg的使用.以及命令
目录 一丶驱动的调试. 1.线程 2.断点 3.内存查看命令 4.修改内存命令 5.栈相关操作命令 6.进程线程命令(内核命令) 一丶驱动的调试. 编写驱动免不了调试.所以这里介绍一下WinDbg的常 ...
- Linux帮助指令
1.介绍 当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法. 2.man 指令获得帮助信息 基本语法 man [命令或者配置文件] (功能描述:获得帮助信 ...
- service mesh,linkerd,sidecar,apigateway
对于大规模部署微服务(微服务数>1000).内部服务异构程度高(交互协议/开发语言类型>5)的场景,使用service mesh是合适的.但是,可能大部分开发者面临的微服务和内部架构异构复 ...
- gstreamer的gst-inspect 和gst-launch
用gstreamer架构做对媒体开发时,gst-inspect 和gst-launch是两个非常使用的小工具,前者是用于查询库中已经包含的所有element以及他们的详细信息,后者用于快速构建一条pi ...