使用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

【详解】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号的关系 ---------------- ...

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(进程控制块),在这就不在讨 ...

linux 最大文件描述符fd

使用四种框架分别实现百万websocket常连接的服务器 著名的 C10K 问题提出的时候, 正是 2001 年.这篇文章可以说是高性能服务器开发的一个标志性文档,它讨论的就是单机为1万个连接提供服务 ...

随机推荐

BZOJ 1061: [Noi2008]志愿者招募

1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 4064  Solved: 2476[Submit][Stat ...

sh7.创建yum源脚本练习

练习1, 写一个脚本分别计算1-100,之间奇数和偶数之和 ji_sum.sh #!/bin/bash # let ..};do ] -eq ];then let sum+=I fi done ech ...

[工具] Firemonkey Style 调色工具(可另存 Style 文件)

版本:2016.12.21 (新增可取代颜色) 下载:[工具]OneStylePalette_调色工具_20161221.zip 版本:2016.12.09 (新增可导出全平台的 Style) 下载: ...

关于Java深clone 的例子学习

之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看&lt ...

yum简单安装salt master与minion

首先得先安装epel的yum源: rpm -ivh http://mirrors.skyshe.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm 1.SaltS ...

fpdf使用標楷體

require('chinese-unicode.php'); $pdf=new PDF_Unicode(); $pdf->Open(); $pdf->AddPage(); $ ...

[C++程序设计]用函数指针变量调用函数

指针变量也可以指向一个函数.一个函数在编译时被分配给一个入口地址.这个函数入口地址就称为函数的指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数 #include

VS2012的安装项目只能用InstallShield Limited Edition

[吐槽]VS2012的安装项目只能用InstallShield Limited Edition[附资源下载]   以前版本的Visual Stuido中安装项目都可以使用微软自家的Visual Stu ...

[翻译] 使用 Python 创建你自己的 Shell:Part I

目录 使用 Python 创建你自己的 Shell:Part I 原文链接与说明 步骤 0:项目结构 步骤 1:Shell 循环 步骤 2:命令切分 步骤 3:执行 运行 使用 Python 创建你自 ...

fd 句柄_文件描述符FD的含义/文件句柄相关推荐

  1. linux c 文件指针 句柄(FILE*) 文件描述符(fd) 文件路径(filepath) 互相转换

    最近在linux下编程常需要对一些文件进行操作.有时不同的条件下,需要将文件指针/句柄(FILE*).文件描述符(fd)以及文件路径(filepath)进行相互转换,以满足实际的编程需要. 现简单的做 ...

  2. 存储基础 — 文件描述符 fd 究竟是什么?

    坚持思考,就会很酷 前情概要 通过上篇 Go 存储基础 - 文件 IO 的姿势, 我们看到有两种文件读写的方式,一种是系统调用的方式,操作的对象是一个整数 fd,另一种是 Go 标准库自己封装的标准库 ...

  3. 文件描述符fd和文件指针File* fp的区别和转换

    在linux系统中把设备和普通文件也都看做是文件,要对文件进行操作就必须先打开文件,打开文件后会得到一个文件描述符,它是一个很小的正整数,是一个索引值.  内核会为每一个运行中的进程在进程控制块pcb ...

  4. ftpclient读取服务器文件能获得文件名文件大小0_理解Linux的文件描述符FD与Inode

    FD 文件描述符 一.概念 Linux 系统中,把一切都看做是文件,当进程打开现有文件或创建新文件时,内核向进程返回一个文件描述符,文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被 ...

  5. linux文件描述符与标识符,文件描述符fd

    这里以问答的方式来讨论这个问题: 1. 文件描述符 fd 和文件指针 FILE *的关系? 文件描述符是什么?我们知道每一个进程都有一个自己的PCB(进程控制块),进程控制块的结构是: struct ...

  6. linux存储--文件描述符fd与FILE结构体(二)

    文件描述符fd 对于linux而言,所有对设备(对于linux而言,一切皆文件)和文件的操作都使用文件描述符来进行的. 文件描述符是一个非负的整数,它是一个索引值,指向内核中每个进程打开文件的记录表. ...

  7. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系

    原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...

  8. linux 文件指针,Linux中文件描述符fd与文件指针FILE*互相转换实例解析

    本文研究的主要是Linux中文件描述符fd与文件指针FILE*互相转换的相关内容,具体介绍如下. 1.文件描述符fd的定义:文件描述符在形式上是一个非负整数.实际上,它是一个索引值,指向内核为每一个进 ...

  9. linux进程fd数量,linux – 文件描述符的数量:/ proc / sys / fs / file-nr和/ proc / $pid / fd之间有什么不同?...

    lsof仅列出进程ID.要获取有关线程的信息,您应该使用ps -eLf.根据 man proc: /proc/[pid]/task (since Linux 2.6.0-test6) This is ...

  10. android MemeoryFile和Parcel操作文件描述符fd

    ParcelFileDescriptor pfd; FileDescriptor fd; Parcel p; static byte[] testString = new byte[] {1,2,3, ...

最新文章

  1. android listview edittext 焦点冲突,Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法...
  2. python简历数据提取_如何使用pyPDF2从PDF格式的多页简历中提取文本数据?
  3. JEPLUS学习心得之请假单功能的完成——JEPLUS软件快速开发平台
  4. NLP中数据增强的综述,快速的生成大量的训练数据
  5. 反射获取构造方法并运行的快速的方式
  6. pythontry参数_Python ——Try Except
  7. 引发外国网友刷屏的“大国重器”到底什么水平?
  8. mysql批量插入 增加参数_MySql 的批量操作,要加rewriteBatchedStatements参数
  9. 17 CO配置-控制-产品成本控制-产品成本计划编制-定义成本核算类型
  10. assets和res/raw的用法
  11. LR中并发用户和集合点
  12. ubuntu18重启vncserver_Ubuntu 18.04 LTS安装vncserver虚拟网络控制台
  13. JFlash的高级使用教程(1)-- 固件合并
  14. 实习一个月,自我总结
  15. C#——NPOI对Excel的操作、导入导出时异常处理(三)
  16. 2022 ICPC Gran Premio de Mexico 1ra Fecha (B、D、E、F)
  17. 华为路由器交换机eNSP配置命令
  18. bt 下载工具 deluge 配置 优化 使用
  19. 1 - Hello MyBatis
  20. 完美国际服务器管理修改经验倍数,魔兽地图编辑问题--修改经验倍数

热门文章

  1. 【报告分享】2020年新一代人工智能白皮书-产业智能化升级(附下载)
  2. 企业应该了解的ISO27001体系建设指导
  3. 计算机办公软件中级考试题怎么做,计算机办公软件考试试题
  4. 直播预告 | 全场景音视频技术解析
  5. Flink学习之flink sql
  6. 冰封USB3.0导入工具
  7. 推荐几个偷网站的小工具
  8. Laravel 教程 - 实战 果酱社区 开源电商 API 系统
  9. MATLAB切比雪夫带通滤波器
  10. windows 游戏编程大师技巧(第二版)学习之路-1