今天本站与你分享了如何在Linux系统中使用fuser命令,本站认为这非常实用,所活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看以他分享给你学习。希望你看完这篇文章能有所收获。话不多说,让我们和本站一起看看
什么是Linux系统
Linux是一个类似Unix的操作系统,可以自由使用和自由传播。它是一个基于POSIX的多用户、多任务、多线程、多CPU的操作系统。Linux可以运行主要的UNIX工具软件、应用程序和网络协议。
描述:
Fuser可以显示哪个程序当前正在使用磁盘上的文件、挂载点甚至网络端口,并给出程序进程的详细信息。
定影器使用指定的文件或文件系统显示进程标识。
默认情况下,每个文件名后面都有一个指示访问类型的字母。
在zkfc的日志中,有一个warn:path=$ path :/sbin 3360/usr/sbin user-v-k-n TCP 8090通过ssh 3360 bash3360 fuser :命令找不到。
原因是最低限度安装centos时没有fuser命令
yum install -y psmisc
语法:
定影器(可选)(参数)
访问类型如下:
c:代表当前目录
使用这个文件作为程序的可执行对象
f:打开文件。默认情况下不显示。
f:打开文件进行写操作。默认情况下不显示。
r:表示这个目录是进程的根目录。
m:表示进程使用该文件进行内存映射,或者该文件是一个共享库文件,由进程映射到内存中。
s:将此文件用作共享库(或其他可加载对象)
常用选项
-a:显示命令行中指定的所有文件,默认显示访问的文件。
-c:与-m相同,用于POSIX兼容。
-k:扼杀访问文件的过程。如果未指定-信号,将发送SIGKILL信号。
-i:在终止进程之前询问用户。如果没有-k选项,将被忽略。
-l:列出所有已知的信号名称。
-m: name指定文件系统上装载的文件或装载的块设备(名称名称)。这样,将列出访问该文件或文件系统的所有进程。如果指定了一个目录,它将自动转换为\’ name/\’,并且将使用该目录下装载的所有文件系统。
-n: space指定不同的命名空间。这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)和udp(本地udp端口)。对于端口,您可以指定端口号或名称。如果不引起歧义,可以使用简单的表示,比如name/space(也就是:80/tcp这样的表示)。
-s:静音模式,忽略-u和-u,-v。-a不能与-s一起使用.
-signal:使用指定的信号而不是SIGKILL来终止进程。信号可以用名称或数字来表示(例如,-HUP,-1)。此选项应与-k一起使用,否则将被忽略。
-u:在每个PID后面加上流程负责人的用户名。
-v:详细模式。输出类似于ps命令,包括PID、USER、command等多个字段。如果是内核访问,那么PID就是内核。-V输出版本号。
-4:使用IPV4套接字,不能和-6一起应用,只有存在-n的tcp和udp的命名时才不能忽略。
-6:使用IPV6套接字,不能和-4一起应用,只有存在-n的tcp和udp的命名时才不忽略。
-重置所有选项,并将信号设置为SIGKILL。
参数
文件:可以是文件名,也可以是TCP/UDP端口号。
使用示例:
显示使用文件的过程信息
此命令在umount中很有用,您可以找到该设备的其他用途。
?
一个
2
三
$ fuser -um /dev/sda2
/dev/sda 2: 6378 c(quiet heart)6534 c(quiet heart)6628(quiet heart)
6653 c(quiet heart)7429 c(quiet heart)7549 c(quiet heart)7608 c(quiet heart)
杀掉打开readme文件的程序
在这里,杀人之前
询问是否确定。最好加上-v以便知道将要杀那个进程。
$fuser -m -k -i readme
查看那些程序使用tcp的80端口
$fuser -v -n tcp 80 或 $fuser -v 80/tcp
fuser不同信号的应用
用 -l参数可以列出fuser所知的信号
?
1
2
3
4
[root@_mongodb_117 ~]
# fuser -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
fuser可以发送它已知的信号给访问的指定文件进程而代替-k参数默认发送的SIGKILL,例如:只是挂起进程,那么发送HUP信号就可以了
[root@_mongodb_117 ~]# fuser -v /root/install.log
用户 进程号 权限 命令
?
1
2
3
4
/root/install
.log: root 3347 f....
tail
[root@_mongodb_117 ~]
# fuser -k -SIGHUP /root/install.log
/root/install
.log: 3347
[root@_mongodb_117 ~]
# fuser -v /root/install.log
要列出使用/etc/passwd文件的本地进程的进程号,请输入:
fuser /etc/passwd
要列出使用/etc/filesystems文件的进程的进程号和用户登录名,请输入:
fuser -u /etc/filesystems
以上就是怎么在Linux系统中使用fuser命令,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
原文链接:https://www.cnblogs.com/Sungeek/p/11857549.html
《怎么在Linux系统中使用fuser命令》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...