怎么在Linux系统中使用fuser命令
本篇文章给大家分享的是有关怎么在Linux系统中使用fuser命令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
十余年的巫溪网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整巫溪建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“巫溪网站设计”,“巫溪网站推广”以来,每个客户项目都认真落实执行。
什么是Linux系统
Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。
描述:
fuser可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。
fuser显示使用指定文件或者文件系统的进程ID。
默认情况下每个文件名后面跟一个字母表示访问类型。
在zkfc的日志里面,有一个warn:PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 8090 via ssh: bash: fuser: 未找到命令
原因是最小化安装centos的时候,没有fuser这个命令
yum install -y psmisc
语法:
fuser(选项)(参数)
访问类型如下:
c:代表当前目录
e:将此文件作为程序的可执行对象使用
f:打开的文件。默认不显示。
F:打开的文件,用于写操作。默认不显示。
r:指示该目录为进程的根目录。
m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。
s:将此文件作为共享库(或其他可装载对象)使用
常用选项
-a:显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。
-c:和-m一样,用于POSIX兼容。
-k:杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。
-i:杀掉进程之前询问用户,如果没有-k这个选项会被忽略。
-l:列出所有已知的信号名称。
-m:name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。
-n:space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口, 可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。
-s:静默模式,这时候-u,-v会被忽略。-a不能和-s一起使用。
-signal:使用指定的信号,而不是用SIGKILL来杀掉进程。可以通过名称或者号码来表示信号(例如-HUP,-1),这个选项要和-k一起使用,否则会被忽略。
-u:在每个PID后面添加进程拥有者的用户名称。
-v:详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel. -V 输出版本号。
-4:使用IPV4套接字,不能和-6一起应用,只在-n的tcp和udp的命名存在时不被忽略。
-6:使用IPV6套接字,不能和-4一起应用,只在-n的tcp和udp的命名存在时不被忽略。
- 重置所有的选项,把信号设置为SIGKILL.
参数
文件:可以是文件名或者TCP、UDP端口号。
使用示例:
显示使用某个文件的进程信息
这个命令在umount的时候很有用,可以找到还有哪些用到这个设备了。
?
1 2 3 |
|
杀掉打开readme文件的程序
这里,会在kill之前询问是否确定。最好加上-v以便知道将要杀那个进程。
$fuser -m -k -i readme
查看那些程序使用tcp的80端口
$fuser -v -n tcp 80 或 $fuser -v 80/tcp
fuser不同信号的应用
用 -l参数可以列出fuser所知的信号
?
1 2 3 4 |
|
fuser可以发送它已知的信号给访问的指定文件进程而代替-k参数默认发送的SIGKILL,例如:只是挂起进程,那么发送HUP信号就可以了
[root@_mongodb_117 ~]# fuser -v /root/install.log
用户 进程号 权限 命令
?
1 2 3 4 |
|
要列出使用/etc/passwd文件的本地进程的进程号,请输入:
fuser /etc/passwd
要列出使用/etc/filesystems文件的进程的进程号和用户登录名,请输入:
fuser -u /etc/filesystems
以上就是怎么在Linux系统中使用fuser命令,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
原文链接:https://www.cnblogs.com/Sungeek/p/11857549.html
分享文章:怎么在Linux系统中使用fuser命令
当前链接:http://scyanting.com/article/jdssop.html