lsof

linux 根据端口号查询进程

亡梦爱人 提交于 2019-12-24 17:49:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> netstat -apn 查看网络连接状态。 lsof -i :9988 查看9988端口运行的程序。 lsof(list open files)是一个列出当前系统打开文件的工具。 要充分地发挥功能必须以 root 用户的身份运行。 每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。lsof输出各列信息的如下: COMMAND:进程的名称 PID:进程标识符 USER:进程所有者 FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等 DEVICE:指定磁盘的名称 SIZE:文件的大小 NODE:索引节点(文件在磁盘上的标识) NAME:打开文件的确切名称 lsof语法格式是:lsof [options] filename 复制代码常用的参数列表: lsof filename 显示打开指定文件的所有进程 lsof -a 表示两个参数都必须满足时才显示结果 lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件 lsof -u username 显示所属user进程打开的文件 lsof -g gid 显示归属gid的进程情况 lsof +d /DIR/ 显示目录下被进程打开的文件 lsof +D /DIR/

lsof-显示系统打开的文件

荒凉一梦 提交于 2019-12-24 17:01:50
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> [root@CentOS7 ~]# lsof -h lsof 4.87 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-f[gG]] [+|-e s] [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s] [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names] Defaults in parentheses; comma-separated set (s) items; dash-separated ranges. -?|-h list help # 帮助 -a AND

被入侵和删除木马程序的经历

跟風遠走 提交于 2019-12-23 15:54:21
a、/bin/ps,/bin/netsta程序都是1.2M的大小,显然是被人掉包了   b、/usr/bin/.dbus-daemon--system 进程还带了一个点,跟哪个不带点的很像,但终归是假的,你咋不给真的删掉替换呢,看来写这种程序的人法律意识很强,要不然程序推广起来了,死了   一大片CIA会放过他吗   c、/etc/rc.local权限改了,而且添加了一个开机启动项   d、lsattr、chattr命令删除了   e 、进程杀掉了立即又起来了这点很让人头痛   f、找到了一些最近修改的文件,显然这些都是黑客留下的   g、开机自动启动文件增加2个启动项   刚开始进程杀了又起来,文件删了又自动生成,线上环境又没有防火墙配置,无奈之下只好想了一个怪招,把/bin/bash 重命名 一下,果然流量下来了,这种杀敌1万自损8千的招果然有用。   其实这时候还没有找到真正的木马,但是已经有时间去分析查找 病毒 源了,这3台其中两台修改了bash名字,突然断开了,这样就登陆不了,只好重装系统了。后来这台我就慢慢查找了,差不   多都找到了,然后删除。这时心情大好,准备写博文记录一下,毕竟这是线上环境第一次遭遇木马。   大概22点的时候,博文写了一半,突然又接到故障,这次一下子又7台服务器出故障了,好心情一下子没了,原来那3台只是个开场白,真正的战斗还没有开始

how to check open file without lsof

心不动则不痛 提交于 2019-12-21 04:28:10
问题 In linux, I use lsof to check the file is opened by which process. I have an android device, but no lsof command. Is it possible to find which process open the specific file ? I will use it to verify the MediaPlayer hold a fd, but it should be closed. 回答1: Install busybox, it has a lsof command. 回答2: Poor man's lsof is to execute ls -l /proc/[process id]/fd Still, you need to be root. 回答3: Thanks mike jones and Joqn for the tip with poor man's lsof. I used it in the following on busybox

Linux进程管理

萝らか妹 提交于 2019-12-21 00:14:41
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。 http://www.cnblogs.com/shijiaqi1066/p/3836017.html 1 进程概述 通俗的讲程序是一个包含可以执行代码的静态的文件。进程是一个开始执行但是还没有结束的 程序的实例 。 当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存,设备等等)然后进行一系列的复杂操作,使程序变成进程以供系统调用。 1.1 进程的分类 按照进程的功能和运行的程序分类,进程可划分为两大类: 系统进程 可以执行内存资源分配和进程切换等管理工作,而且该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行。 用户进程 通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。 针对用户进程,又可以分为如下3类: 交互进程 :由一个Shell终端其他的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行于后台。 批处理进程 :该进程是一个进程集合,负责按顺序启动其他的进程。 守护进程 :守护进程是一直运行的一种进程,经常在Linux系统时启动,在系统关闭时终止。它们独立于控制终端且周期性地质学某种任务或等待处理某些发生的时间。例,httpd进程,crond进程等。 1.2 进程状态

Non zero exit code for lsof

情到浓时终转凉″ 提交于 2019-12-19 22:02:02
问题 I am using following lsof command: lsof -iTCP -a -sTCP:^LISTEN -a -p <pid> If there is some output this command returns an exit code of 0 but if there is no output the exit code is 1 . echo $? Can anyone explain why is this happening? Is there a way to avoid it? 回答1: This is the expected behaviour: you just get 0 if something was found. From man lsof : DIAGNOSTICS Errors are identified with messages on the standard error file. Lsof returns a one (1) if any error was detected, including the

What's the fastest way using lsof to find a single open file?

半世苍凉 提交于 2019-12-19 02:49:49
问题 I'm trying to test a single file if it is open using lsof. Is there a faster way than this? $result = exec('lsof | grep filename | wc -l'); if($result > 0) { //file is open } I'm thinking their must be a way to just test for one file if you know the filename. All I really need is a true or false. 回答1: I found a much better way. With lsof (tested on version 4.63), you can directly query a specific file: if lsof filename > /dev/null; then # file is open fi 回答2: Well, you can skip wc and use the

linux中关于磁盘IO

你离开我真会死。 提交于 2019-12-18 19:04:50
查看磁盘IO负载 - 看哪些进程在读写磁盘 一、lsof命令 查看进程打开的文件 lsof全名为 list open files,也就是列举系统中已经被打开的文件,通过lsof命令,可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。 #个别环境需要安装 sudo yum install lsof -y 参数选项 -c<进程名> 显示指定的进程名所打开的文件 -p<进程号> 显示指定的进程号所打开的文件 -i 通过监听指定的协议、端口和主机等信息,显示符合条件的进程信息 -u 显示指定用户使用的文件 -U 显示所有socket文件 1、显示占用文件的进程 linux中关于磁盘IO 内容详解: COMMAND :命令,进程的名称 PID:进程号 USER:进程的所有者 FD:文件描述符,包含以下内容: 0:标准输出 1:标准输入 2:标准错误 u:该文件被打开并处于读取/写入模式 r: 该文件被打开并处于只读模式 w:该文件被打开并处于写入模式 TYPE:文件类型,REG(regular)为普通文件 DEVICE:指定磁盘的名称 SIZE/OFF:文件的大小 NODE:索引节点 NAME:文件名称 2、显示指定进程所打开的文件 linux中关于磁盘IO 3、显示指定进程号所打开的文件 linux中关于磁盘IO 4、监听指定协议、端口和主机等信息

Seeing too many lsof can't identify protocol

ⅰ亾dé卋堺 提交于 2019-12-18 14:01:19
问题 I have a Java process/app. When I run /usr/sbin/lsof -p on that java process, I see a lot of "can't identify protocol". Also, interestingly, File descriptors(FDs) are increasing at a very steady rate. And those FDs that are being created are having description as "can't identify protocol". So, is there any way to instrument/profile the java process so as to nail down who is creating that many FDs. Any detailed explanation on any tool would be really really helpful. A quick google search tells

Link to a specific inode

家住魔仙堡 提交于 2019-12-18 04:53:07
问题 I have a file that was deleted, but is still held open my a program. I found the inode number using lsof. How can I create a hard link back to that inode? Any code helps, but Perl would be handy. 回答1: Copy from /proc/ pid /fd/ file descriptor Use lsof to find the pid and the file descriptor. 回答2: on EXT filesystem you can use debugfs command to recreate the link like : debugfs -w /dev/mapper/vg0-root -R 'link <16> myfile' Which will create a "file" named myfile and pointing to inode 16. 来源: