linux中如何查看某个文件被哪些进程占用

作者&投稿:云风 (若有异议请与网页底部的电邮联系)
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

1)使用lsof命令
lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。
如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。
2)使用netstat 命令
大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。
执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。
和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。
下面以1521端口来看怎么查找到该程序,我们使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在这里使用awk来匹配第4个字段的模式是为了避免误判。

查看进程

在Linux要检查那一个进程(process)占用特定埠号,可以用netstat或lsof来做,例如想列出所有开启的埠号,可以netstat指令:

假如只想输出某个文件的进程,可以加上grep过滤:

或者只想输出占用某个端口的进程,可以加上grep过滤:

上面可以看到是mongod占用端口966,进程的pid是966

杀死进程

通常有两个命令来结束进程:

  • kill - 通过进程 ID 来结束进程

  • killall - 通过进程名字来结束进程

我们现在用 kill 命令来杀死 mongod的进程。这个命令的结构是:kill SIGNAL PID

或者:

我们已经知道我们想要杀死的那个进程的名字,我们能够利用 killall 命令发送同样的信号,像这样:

killall -9 mongod



linux系统下查看进程打开文件
在/proc下,对应每个进程有一个以进程号命名的目录,该目录下有一个fd目录,该目录下面的每个文件是一个符号连接,其文件名对应该进程占用的一个文件描述符,而连接指向的内容表示文件描述符对应的实际文件,有多少个文件描述符表示该进程打开了多少文件。
另外Linux
默认的进程打开文件上限是1024个,可以通过ulimit
-n查看。很多系统上限可以通过修改/etc/security/limits.conf文件改变,这个文件有详细的注释,对如何修改做了说明。如果希望
把所有用户的进程打开文件上限改为65536,可以加入下面两行

* soft nofile 65535
* hard nofile 65535

还可以只真对某个用户或某个组做修改,具体方法参见文件注释。修改后需要重新启动系统才能生效。

1.只查看该进程:ps -ef | grep 11345
2.查看该进程打开的文件:lsof -p 11345
3.查看内存分配:lcat /proc/11345/maps
4.查看堆栈:pstack 11345
5.查看发出的系统调用:strace -p 11345
6.查看调用库函数:ltrace -p 11345

可以使用ps -fe|grep filename,也可以使用fuser filename查看


如何查看Linux的内存及cpu如何查看linux的内存
2、查看CPU:在SSH远程控制端,输入命令“top”,按下“Enter”回车键,即可看到cpu的使用率。3、Linux上的VNC服务端,比较常用的就是tigervnc和x11vnc。x11vnc可以让远程访问者控制本地的实际显示器,而tigervnc既可以远程控制实际显示器,还可以控制平行独立于当前物理显示器的虚拟显示器。linux如何查看...

linux查看任务进程linux查看任务
如何查看linux进程?linux下查看进程可以使用的命令:1、ps命令查找与进程相关的PID号:2、psa显示现行终端机下的所有程序,包括其他用户的程序。3、ps-A显示所有程序。4、psc列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。5、ps-e此参数的效果和指定"A"参数相同。6、...

linux中有没有可以查看文件系统的命令?
有的,Linux中有多个命令可以用于查看文件系统的信息。以下是一些常用的命令:1. df命令:用于显示文件系统的磁盘空间使用情况,包括已用空间、可用空间、文件系统类型等。示例命令:`df -h`2. du命令:用于显示目录或文件的磁盘使用情况,可以查看各个子目录或文件的大小。示例命令:`du -h <目录或...

linux查看文件目录大小linux查看文件目录
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。5.type type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。linux中如何查看dev目录下的文件?linux中通过命令ls-a来查看dev目录下的文件。

linux查看文件行数linux查看文件行
linux查找文件夹命令?很高兴本问题,此观点仅供参考!如有纰漏请尽情斧正!Linux下使用find命令查找文件或者文件夹:查找文件:find\/(查找范围)-name查找关键字-typed。查找文件夹:find\/(查找范围)-name查找关键字-print。另外find命令也可以通过正则表达式来进行查找。Linux中如何查看一个文件的前m行...

如何查看linux x86和x64
1、切换到root用户,su - root,如下图。2、getconf LONG_BIT 通过命令getconf LONG_BIT获取系统位数,返回32就表示是32位,返回64就表示是64位,如下图。3、uname -a 通过命令uname -a获取系统位数,返回ixxx的全是32位的,有X86_64的全是64位,如下图。4、file \/sbin\/init或file \/bin\/...

linux中怎样查看占用8080端口的进程?
,使用lsof命令,使用IPv4协议的局域网:执行命令:lsof-Pnl+M-i4|grep8080输出结果:java14191401IPv467933572,先使用netstat命令,再用ps命令。Linux中如何查看8080端口是否被占用?在Linux系统中,想要查看哪些端口被占用可通过命令进行查询,比如:lsof、netstat命令。,首先按快捷键windows+R,在运行框里...

linux网卡查看命令linux网卡查看
通过如下命令查看:lspci|grepEthernet linux如何查看物理网卡地址?1、这里以ubuntu为例,演示查看物理网卡地址的方法,首先按下Alt+F12打开终端输入框:2、然后输入命令“ifconfig-a”,这里该命令类似于windows下的ipconfig命令:3、按下回车后就会出现网卡的详细信息了,这里的高亮部分即是ip信息,网卡...

linux查看文件权限的命令linux查看文件权限
linux查看某个用户所有的权限的步骤如下:我们需要准备的材料分别是:电脑、linux连接工具。1、首先连接上linux主机,进入命令行状态。2、以用户名nginx为例,输入:cat\/etc\/passwd|grepnginx,再按回车。3、此时会打印出用户名nginx的所有权限 unix\/linux系统中如何读取一个文件的存储权限?unix\/linux通过...

linux文件路径查看linux文件路径查看
3、假如要找一个nginx配置文件nginx.conf,那么可以通过find命令查找:find.-name'nginx.conf'。4、假如不知道文件的具体名字只是模糊记得几个关键的单词,那么就可以通过模糊匹配去搜索:find目录-name'*nginx*'查找即可。linux查看共享文件夹怎么操作?linux查看共享文件夹,要看对方是机器是如何共享的。

铜鼓县15954364235: linux 查看文件被哪个进程占用 -
端木栏产妇: Linux中通过文件查看正在使用该文件的程序用fuser命令,fuser命令的用法是:fuser -uv 文件名 列出的结果里面,PID那一列就是占用该文件的进程PID,COMMAND那一列是占用该文件的进程名字.

铜鼓县15954364235: Linux下怎样查看一个文件被哪些IP访问过 -
端木栏产妇: netstat -nat 或者 netstat -nau 查看进程的通信 如果要写入文件 在后面加上 netstat -nat > 文件 & 在样会在后台执行

铜鼓县15954364235: linux系统中如何查找某一特定文件? -
端木栏产妇: linux中查找被进程使用的所有文件,可以使用lsof命令,但是默认情况下lsof会将系统上已经打开的文件都列出来,所以常常需要用管道符加grep命令,选取指定的进程的信息,比如如下命令列出init进程在使用哪些文件: lsof | grep init

铜鼓县15954364235: Linux中如何知道一个文件是被哪个程序创建的? -
端木栏产妇: 要在用rpm 安装的软件包才能被查询到,如你想查询/etc/my.cnf 文件的由什么软件包构成.但是查询不到文件的,创建这个文件的进程是否允许.你可以分开查询:1.用 rpm -qf /etc/my.cnf 查询出这个文件的软件包 是 mysql的.2.用ps aux|grep mysql 查看mysql 的进程号.3.用 lsof 来查看 这个mysql的进程号 就可得知 这个进程调用了 哪个类库,使用哪个文件.如果你有什么好的办法 也请你告诉我,我目前是用这种办法来做的.

铜鼓县15954364235: 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

铜鼓县15954364235: 查看文件被哪个进程占用 linux -
端木栏产妇: 你好,可以使用ps -fe|grep filename,也可以使用fuser filename查看只查看该进程:ps -ef | grep 11345查看该进程打开的文件:lsof -p 11345查看内存分配:lcat /proc/11345/maps查看堆栈:pstack 11345查看发出的系统调用:strace -p 11345查看调用库函数:ltrace -p 1134511345是进程号

铜鼓县15954364235: linux查看文件被哪个程序调用 -
端木栏产妇: fuser -v /path/to/file望采纳

铜鼓县15954364235: Linux里怎样查找文件内容 -
端木栏产妇: Linux查找文件内容的常用命令方法. 1、从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件 grep "thermcontact" */*.in 2、从文件内容查找与正则表达...

铜鼓县15954364235: linux 中查找某个文件在哪个包的命令 -
端木栏产妇: rpm -qf /dir/filename

铜鼓县15954364235: linux 如何查看 某块共享内存被哪些文件在用 -
端木栏产妇: 使用ipcs命令的-m(内存)和-p(进程)选项: # ipcs -mp IPC status from /dev/mem as of Wed Jun 26 14:49:19 BEIDT 2002

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网