Linux系統(tǒng)使用Fuser命令的方法
什么是Fuser命令?
fuser命令是一個(gè)非常聰明的unix實(shí)用程序,用于查找正在使用某個(gè)文件、目錄或socket的進(jìn)程。 它還提供有關(guān)擁有該進(jìn)程的用戶和訪問(wèn)類型的信息。。fuser工具顯示了使用指定文件或文件系統(tǒng)的每個(gè)進(jìn)程的進(jìn)程ID(PID)。
安裝
如果你的精簡(jiǎn)版運(yùn)行fuser提示如下信息:
-bash: fuser: command not found
請(qǐng)執(zhí)行如下命令安裝:
[winbert@winbert-server ~]$ sudo yum -y install psmisc
如何使用fuser命令?
man命令可用于查看任何命令的幫助手冊(cè),但是學(xué)習(xí)新知識(shí)(尤其是linux命令)的最佳方法是通過(guò)閱讀真實(shí)的示例,并且不斷地在終端中鍵入命令。 在終端中運(yùn)行以下命令,以獲取有關(guān)fuser實(shí)用程序的使用選項(xiàng)的信息。
[winbert@winbert-server ~]$ fuser No process specification given Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME... fuser -l fuser -V Show 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]]]
如何查看使用某個(gè)目錄的進(jìn)程
fuser序可以與-v
選項(xiàng)一起使用,該選項(xiàng)以詳細(xì)模式運(yùn)行該工具。 verbose選項(xiàng)用于在計(jì)算機(jī)屏幕上生成詳細(xì)輸出,因此用戶可以實(shí)時(shí)查看實(shí)用程序正在執(zhí)行的操作。
[winbert@winbert-server ~]$ fuser -v . USER PID ACCESS COMMAND /home/winbert: winbert 1435 ..c.. bash
上面的輸出顯示,以詳細(xì)模式運(yùn)行時(shí),fuser會(huì)提供有關(guān)USER
,PID
,ACCESS
和COMMAND
的信息。 ACCESS
下的c
字符表示訪問(wèn)類型,表示“當(dāng)前目錄”。 訪問(wèn)類型很多,例如e(正在運(yùn)行的可執(zhí)行文件),r(根目錄),f(打開文件。在默認(rèn)顯示模式下省略f),F(xiàn)(用于寫入的打開文件,在默認(rèn)顯示模式下省略F)和 m(mmap文件或共享庫(kù))。
查看使用你tcp或udp套接字的進(jìn)程?
有時(shí)您需要使用TCP和UDP套接字查找進(jìn)程。 為了查找這些進(jìn)程,需要使用-n
選項(xiàng)。 -n
選項(xiàng)用于選擇相應(yīng)的名稱空間。
[root@huidukongjian-h4 docker]# fuser -v -n tcp 80 USER PID ACCESS COMMAND 80/tcp: root 27411 F.... docker-proxy
默認(rèn)情況下,fuser將同時(shí)在IPv6和IPv4套接字中查找,但是可以使用-4
和-6
選項(xiàng)更改默認(rèn)選項(xiàng)。 -4
選項(xiàng)代表IPv4
,-6
選項(xiàng)代表IPv6
。 請(qǐng)注意,fuser
僅將PID輸出到stdout,其他所有內(nèi)容都發(fā)送到stderr。
fuser -v -n tcp 80
命令的結(jié)果顯示,使用docker
的進(jìn)程的進(jìn)程ID為27411,而用于啟動(dòng)該進(jìn)程的命令為docker-proxy
。 進(jìn)程ID(PID)可以以多種方式使用,其中之一是進(jìn)程終止。 與PID一起使用時(shí),kill命令根據(jù)該進(jìn)程ID終止進(jìn)程。 fuser
還可用于終止訪問(wèn)特定文件的進(jìn)程。 在以下命令中,-k
選項(xiàng)用于終止正在使用在端口123
上運(yùn)行的tcp
偵聽器的進(jìn)程。為確保用戶不會(huì)殺死錯(cuò)誤的進(jìn)程,使用-i
選項(xiàng)詢問(wèn)用戶是否 在終止進(jìn)程之前進(jìn)行確認(rèn)。
fuser -k 123/tcp
使用帶有-i
選項(xiàng)的fuser -k
命令在終止進(jìn)程之前要求用戶進(jìn)行確認(rèn)。 用戶可以用y
回答“是”,或者用N
回答不殺死進(jìn)程。
fuser -i -k 123/tcp 123/tcp: 12216 Kill process 12216 ? (y/N) Use The -6 Option To Look For IPv6 Sockets.
以下命令以詳細(xì)模式使用fuser,并嘗試查找在端口123上運(yùn)行的IPv6套接字。
fuser -v -n tcp -6 123
查找占用某個(gè)文件系統(tǒng)的進(jìn)程
-m
選項(xiàng)可與fuser
命令一起使用,以查找訪問(wèn)文件文件系統(tǒng)上文件的進(jìn)程。 此選項(xiàng)需要文件名作為輸入?yún)?shù)。 -m
選項(xiàng)非常有用,尤其是當(dāng)用于發(fā)現(xiàn)正在訪問(wèn)文件系統(tǒng)的進(jìn)程并標(biāo)識(shí)要?dú)⑺赖倪M(jìn)程時(shí)。
以下命令顯示所有訪問(wèn)“ example.txt”所在的文件系統(tǒng)的進(jìn)程。 仔細(xì)查看-m
選項(xiàng)如何與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. sshd
fuser
還可用于將特定指令發(fā)送到某個(gè)進(jìn)程。 當(dāng)與-k
選項(xiàng)一起使用時(shí),fuser
命令將KILL
指令發(fā)送給進(jìn)程。 有很多指令可以發(fā)送給運(yùn)行中的進(jìn)程,-l
選項(xiàng)有助于查找可以與fuser一起使用的指令列表。
[root@huidukongjian-h4 docker]# fuser -l HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
總結(jié)
到此這篇關(guān)于Linux系統(tǒng)使用Fuser命令的方法的文章就介紹到這了,更多相關(guān)Linux fuser命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
LINUX服務(wù)器安裝SVN服務(wù)實(shí)現(xiàn)方式
本文介紹了如何使用yum安裝Subversion,創(chuàng)建版本庫(kù),配置SVN服務(wù),并解決常見問(wèn)題,詳細(xì)步驟包括安裝Subversion,查看安裝版本和位置,創(chuàng)建存放版本庫(kù)的目錄及svn版本庫(kù),配置權(quán)限控制,啟動(dòng)svn版本庫(kù),以及處理端口訪問(wèn)權(quán)限等2024-09-09Apache JMeter 5.5 下載安裝及設(shè)置中文圖文教程
這篇文章主要介紹了Apache JMeter 5.5 下載安裝以及設(shè)置中文教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02Linux Centos7系統(tǒng)端口占用問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Linux Centos7系統(tǒng)端口占用問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01關(guān)于linux服務(wù)器下vsftpd的一些問(wèn)題
針對(duì)我自己本身出現(xiàn)的問(wèn)題,將高人與我的QQ聊天記錄整理了一份,然后再加上實(shí)際的操作.終于讓我大徹大悟.現(xiàn)在與大家狠狠的分享這位高人的成果.2010-06-06linux中設(shè)置固定ip的方法(親測(cè)有效)
這篇文章主要介紹了linux設(shè)置固定ip的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04