您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)怎么在Linux系統(tǒng)中使用fuser命令,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。
描述:
fuser可以顯示出當(dāng)前哪個(gè)程序在使用磁盤上的某個(gè)文件、掛載點(diǎn)、甚至網(wǎng)絡(luò)端口,并給出程序進(jìn)程的詳細(xì)信息。
fuser顯示使用指定文件或者文件系統(tǒng)的進(jìn)程ID。
默認(rèn)情況下每個(gè)文件名后面跟一個(gè)字母表示訪問(wèn)類型。
在zkfc的日志里面,有一個(gè)warn:PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 8090 via ssh: bash: fuser: 未找到命令
原因是最小化安裝centos的時(shí)候,沒(méi)有fuser這個(gè)命令
yum install -y psmisc
語(yǔ)法:
fuser(選項(xiàng))(參數(shù))
訪問(wèn)類型如下:
c:代表當(dāng)前目錄
e:將此文件作為程序的可執(zhí)行對(duì)象使用
f:打開的文件。默認(rèn)不顯示。
F:打開的文件,用于寫操作。默認(rèn)不顯示。
r:指示該目錄為進(jìn)程的根目錄。
m:指示進(jìn)程使用該文件進(jìn)行內(nèi)存映射,抑或該文件為共享庫(kù)文件,被進(jìn)程映射進(jìn)內(nèi)存。
s:將此文件作為共享庫(kù)(或其他可裝載對(duì)象)使用
常用選項(xiàng)
-a:顯示所有命令行中指定的文件,默認(rèn)情況下被訪問(wèn)的文件才會(huì)被顯示。
-c:和-m一樣,用于POSIX兼容。
-k:殺掉訪問(wèn)文件的進(jìn)程。如果沒(méi)有指定-signal就會(huì)發(fā)送SIGKILL信號(hào)。
-i:殺掉進(jìn)程之前詢問(wèn)用戶,如果沒(méi)有-k這個(gè)選項(xiàng)會(huì)被忽略。
-l:列出所有已知的信號(hào)名稱。
-m:name 指定一個(gè)掛載文件系統(tǒng)上的文件或者被掛載的塊設(shè)備(名稱name)。這樣所有訪問(wèn)這個(gè)文件或者文件系統(tǒng)的進(jìn)程都會(huì)被列出來(lái)。如果指定的是一個(gè)目錄會(huì)自動(dòng)轉(zhuǎn)換成"name/",并使用所有掛載在那個(gè)目錄下面的文件系統(tǒng)。
-n:space 指定一個(gè)不同的命名空間(space).這里支持不同的空間文件(文件名,此處默認(rèn))、tcp(本地tcp端口)、udp(本地udp端口)。對(duì)于端口, 可以指定端口號(hào)或者名稱,如果不會(huì)引起歧義那么可以使用簡(jiǎn)單表示的形式,例如:name/space (即形如:80/tcp之類的表示)。
-s:靜默模式,這時(shí)候-u,-v會(huì)被忽略。-a不能和-s一起使用。
-signal:使用指定的信號(hào),而不是用SIGKILL來(lái)殺掉進(jìn)程??梢酝ㄟ^(guò)名稱或者號(hào)碼來(lái)表示信號(hào)(例如-HUP,-1),這個(gè)選項(xiàng)要和-k一起使用,否則會(huì)被忽略。
-u:在每個(gè)PID后面添加進(jìn)程擁有者的用戶名稱。
-v:詳細(xì)模式。輸出似ps命令的輸出,包含PID,USER,COMMAND等許多域,如果是內(nèi)核訪問(wèn)的那么PID為kernel. -V 輸出版本號(hào)。
-4:使用IPV4套接字,不能和-6一起應(yīng)用,只在-n的tcp和udp的命名存在時(shí)不被忽略。
-6:使用IPV6套接字,不能和-4一起應(yīng)用,只在-n的tcp和udp的命名存在時(shí)不被忽略。
- 重置所有的選項(xiàng),把信號(hào)設(shè)置為SIGKILL.
參數(shù)
文件:可以是文件名或者TCP、UDP端口號(hào)。
使用示例:
顯示使用某個(gè)文件的進(jìn)程信息
這個(gè)命令在umount的時(shí)候很有用,可以找到還有哪些用到這個(gè)設(shè)備了。
?
1 2 3 |
|
殺掉打開readme文件的程序
這里,會(huì)在kill之前詢問(wèn)是否確定。最好加上-v以便知道將要?dú)⒛莻€(gè)進(jìn)程。
$fuser -m -k -i readme
查看那些程序使用tcp的80端口
$fuser -v -n tcp 80 或 $fuser -v 80/tcp
fuser不同信號(hào)的應(yīng)用
用 -l參數(shù)可以列出fuser所知的信號(hào)
?
1 2 3 4 |
|
fuser可以發(fā)送它已知的信號(hào)給訪問(wèn)的指定文件進(jìn)程而代替-k參數(shù)默認(rèn)發(fā)送的SIGKILL,例如:只是掛起進(jìn)程,那么發(fā)送HUP信號(hào)就可以了
[root@_mongodb_117 ~]# fuser -v /root/install.log
用戶 進(jìn)程號(hào) 權(quán)限 命令
?
1 2 3 4 |
|
要列出使用/etc/passwd文件的本地進(jìn)程的進(jìn)程號(hào),請(qǐng)輸入:
fuser /etc/passwd
要列出使用/etc/filesystems文件的進(jìn)程的進(jìn)程號(hào)和用戶登錄名,請(qǐng)輸入:
fuser -u /etc/filesystems
以上就是怎么在Linux系統(tǒng)中使用fuser命令,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
原文鏈接:https://www.cnblogs.com/Sungeek/p/11857549.html
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。