时间:2021-05-19
什么是Fuser命令?
fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件、目录或socket的进程。 它还提供有关拥有该进程的用户和访问类型的信息。。fuser工具显示了使用指定文件或文件系统的每个进程的进程ID(PID)。
安装
如果你的精简版运行fuser提示如下信息:
-bash: fuser: command not found
请执行如下命令安装:
[winbert@winbert-server ~]$ sudo yum -y install psmisc
如何使用fuser命令?
man命令可用于查看任何命令的帮助手册,但是学习新知识(尤其是linux命令)的最佳方法是通过阅读真实的示例,并且不断地在终端中键入命令。 在终端中运行以下命令,以获取有关fuser实用程序的使用选项的信息。
[winbert@winbert-server ~]$ fuserNo process specification givenUsage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME... fuser -l fuser -VShow which processes use the named files, sockets, or filesystems. -a,--all display unused files too -i,--interactive ask before killing (ignored without -k) -k,--kill kill processes accessing the named file -l,--list-signals list available signal names -m,--mount show all processes using the named filesystems or block device -M,--ismountpoint fulfill request only if NAME is a mount point -n,--namespace SPACE search in this name space (file, udp, or tcp) -s,--silent silent operation -SIGNAL send this signal instead of SIGKILL -u,--user display user IDs -v,--verbose verbose output -w,--writeonly kill only processes with write access -V,--version display version information -4,--ipv4 search IPv4 sockets only -6,--ipv6 search IPv6 sockets only - reset options udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]如何查看使用某个目录的进程
fuser序可以与-v选项一起使用,该选项以详细模式运行该工具。 verbose选项用于在计算机屏幕上生成详细输出,因此用户可以实时查看实用程序正在执行的操作。
[winbert@winbert-server ~]$ fuser -v . USER PID ACCESS COMMAND/home/winbert: winbert 1435 ..c.. bash上面的输出显示,以详细模式运行时,fuser会提供有关USER,PID,ACCESS和COMMAND的信息。 ACCESS下的c字符表示访问类型,表示“当前目录”。 访问类型很多,例如e(正在运行的可执行文件),r(根目录),f(打开文件。在默认显示模式下省略f),F(用于写入的打开文件,在默认显示模式下省略F)和 m(mmap文件或共享库)。
查看使用你tcp或udp套接字的进程?
有时您需要使用TCP和UDP套接字查找进程。 为了查找这些进程,需要使用-n选项。 -n选项用于选择相应的名称空间。
[root@huidukongjian-h4 docker]# fuser -v -n tcp 80 USER PID ACCESS COMMAND80/tcp: root 27411 F.... docker-proxy默认情况下,fuser将同时在IPv6和IPv4套接字中查找,但是可以使用-4和-6选项更改默认选项。 -4选项代表IPv4,-6选项代表IPv6。 请注意,fuser仅将PID输出到stdout,其他所有内容都发送到stderr。
fuser -v -n tcp 80命令的结果显示,使用docker的进程的进程ID为27411,而用于启动该进程的命令为docker-proxy。 进程ID(PID)可以以多种方式使用,其中之一是进程终止。 与PID一起使用时,kill命令根据该进程ID终止进程。 fuser还可用于终止访问特定文件的进程。 在以下命令中,-k选项用于终止正在使用在端口123上运行的tcp侦听器的进程。为确保用户不会杀死错误的进程,使用-i选项询问用户是否 在终止进程之前进行确认。
fuser -k 123/tcp
使用带有-i选项的fuser -k命令在终止进程之前要求用户进行确认。 用户可以用y回答“是”,或者用N回答不杀死进程。
fuser -i -k 123/tcp123/tcp: 12216Kill process 12216 ? (y/N)Use The -6 Option To Look For IPv6 Sockets.以下命令以详细模式使用fuser,并尝试查找在端口123上运行的IPv6套接字。
fuser -v -n tcp -6 123
查找占用某个文件系统的进程
-m选项可与fuser命令一起使用,以查找访问文件文件系统上文件的进程。 此选项需要文件名作为输入参数。 -m选项非常有用,尤其是当用于发现正在访问文件系统的进程并标识要杀死的进程时。
以下命令显示所有访问“ example.txt”所在的文件系统的进程。 仔细查看-m选项如何与fuser一起使用。
[root@huidukongjian-h4 docker]# fuser -v -m data/v2/config.json USER PID ACCESS COMMAND/root/docker-v2/data/v2/config.json: root kernel mount / root 1 .rce. systemd root 2 .rc.. kthreadd root 3 .rc.. rcu_gp root 4 .rc.. rcu_par_gp root 6 .rc.. kworker/0:0H-kbl root 8 .rc.. mm_percpu_wq root 9 .rc.. ksoftirqd/0 root 10 .rc.. rcu_sched root 11 .rc.. migration/0 root 12 .rc.. watchdog/0 root 13 .rc.. cpuhp/0 root 16 .rc.. netns root 17 .rc.. kauditd root 18 .rc.. khungtaskd root 19 .rc.. oom_reaper root 20 .rc.. writeback root 21 .rc.. kcompactd0 root 22 .rc.. ksmd root 23 .rc.. khugepaged root 24 .rc.. crypto root 25 .rc.. kintegrityd root 26 .rc.. kblockd root 27 .rc.. tpm_dev_wq root 28 .rc.. md root 29 .rc.. edac-poller root 30 .rc.. watchdogd root 42 .rc.. kswapd0 root 93 .rc.. kthrotld root 94 .rc.. acpi_thermal_pm root 95 .rc.. kmpath_rdacd root 96 .rc.. kaluad root 97 .rc.. ipv6_addrconf root 98 .rc.. kstrp root 326 .rc.. scsi_eh_0 root 327 .rc.. scsi_tmf_0 root 329 .rc.. kworker/0:1H-kbl root 361 .rc.. ata_sff root 363 .rc.. scsi_eh_1 root 365 .rc.. scsi_tmf_1 root 366 .rc.. scsi_eh_2 root 367 .rc.. scsi_tmf_2 root 387 .rc.. xfsalloc root 390 .rc.. xfs_mru_cache root 391 .rc.. xfs-buf/vda1 root 394 .rc.. xfs-data/vda1 root 395 .rc.. xfs-conv/vda1 root 396 .rc.. xfs-cil/vda1 root 397 .rc.. xfs-reclaim/vda root 398 .rc.. xfs-log/vda1 root 399 .rc.. xfs-eofblocks/v root 400 .rc.. xfsaild/vda1 root 486 .rce. systemd-journal rpc 541 .rce. rpcbind root 543 Frce. auditd root 545 .rce. sedispatch root 558 .rc.. rpciod root 559 .rc.. kworker/u3:0 root 561 .rc.. xprtiod root 582 Frce. sssd polkitd 585 .rce. polkitd root 589 .rce. rngd dbus 593 frce. dbus-daemon chrony 612 .rce. chronyd root 652 Frce. sssd_be root 668 Frce. sssd_nss root 671 .rc.. ttm_swap root 672 .rc.. nfit root 675 frce. systemd-logind root 683 Frce. gssproxy root 740 frce. NetworkManager root 743 Frce. tuned root 814 frce. systemd-udevd root 889 frce. sshd root 890 Frce. rsyslogd root 895 frce. agetty root 898 frce. crond root 899 frce. agetty root 21821 .rc.. kworker/u2:0-flu root 25475 frce. sshd root 25480 .rce. systemd root 25485 frce. (sd-pam root 25491 frce. sshd root 25492 frce. bash root 25705 Frce. containerd root 25706 Frce. dockerd root 26375 .rc.. kworker/u2:1-eve root 27251 Fr.e. containerd-shim root 27267 F...m v2 root 27273 Fr.e. containerd-shim root 27295 ....m sh root 27400 .rce. docker-proxy root 27411 .rce. docker-proxy root 27416 Fr.e. containerd-shim root 27432 ....m sh root 27478 ....m sh root 27479 F...m nginx root 27480 ....m sleep (unknown) 27481 F...m nginx root 27561 ....m sleep root 27705 .rc.. kworker/0:0-xfs- root 27765 .rc.. kworker/0:1-xfs- root 27836 .rc.. kworker/0:2-even root 27860 frce. sshd root 27883 frce. sshd sshd 27884 frce. sshdfuser还可用于将特定指令发送到某个进程。 当与-k选项一起使用时,fuser命令将KILL指令发送给进程。 有很多指令可以发送给运行中的进程,-l选项有助于查找可以与fuser一起使用的指令列表。
[root@huidukongjian-h4 docker]# fuser -lHUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLTCHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS总结
到此这篇关于Linux系统使用Fuser命令的方法的文章就介绍到这了,更多相关Linux fuser命令内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在Linux中,fuser工具可用来查询文件的用户,除此之外,fuser还有很多用途,能够搭配参数使用,下面小编将针对fuser工具的使用方式给大家做个详细
Linux系统操作中,除了可以使用命令监控系统性能外(详解监控Linux系统性能的命令有哪些),还可使用KSysguard工具,KSysguard是系统性能
本期介绍linux基础命令的使用1、用who命令显示当前Linux系统的用户名2、使用下列命令显示有关计算机系统信息:uname(显示操作系统的名称),unam
ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令。我们每天都在频繁地使用ls
Linux关闭和重启系统一般使用相同的命令可以实现。在Linux系统下常用在关机/重启命令有shutdown、halt、reboot和init,但每个命令的内部