Tanulja meg a „fuser” parancs használatát példákkal Linux alatt
A Linux rendszeradminisztráció egyik legfontosabb feladata a folyamatmenedzsment. Ez magában foglal több monitorozás alatt álló műveletet, jelzési folyamatokat, valamint folyamatprioritások beállítását a rendszeren.
Számos Linux-eszköz/segédprogram létezik olyan folyamatok figyelésére/kezelésére, mint például a top, ps, pgrep, kill, killall, nice és sok más.
Ebben a cikkben feltárjuk, hogyan találhatunk folyamatokat a fuser nevű találékony Linux segédprogram segítségével.
Javasolt olvasmány: Keresse meg a legjobban futó folyamatokat a legnagyobb memória- és CPU-használat alapján
A fuser egy egyszerű, de hatékony parancssori segédprogram, amely a folyamatok megkeresésére szolgál azon fájlok, könyvtárak vagy socket alapján, amelyekhez egy adott folyamat hozzáfér. Röviden: segít a rendszerfelhasználóknak a folyamatok azonosításában fájlok vagy socketek segítségével.
A beégető használata Linux rendszerekben
A beégető használatának hagyományos szintaxisa a következő:
fuser [options] [file|socket]
fuser [options] -SIGNAL [file|socket]
fuser -l
Az alábbiakban bemutatunk néhány példát a beégető használatára a folyamatok megkeresésére a rendszeren.
Keresse meg, melyik folyamat fér hozzá egy címtárhoz
A fuser parancs opció nélküli futtatása megjeleníti az aktuális munkakönyvtárhoz jelenleg hozzáférő folyamatok PID-jeit.
fuser .
OR
fuser /home/tecmint
A részletesebb és egyértelműbb kimenet érdekében engedélyezze a -v
vagy a --verbose
paramétert az alábbiak szerint. A kimenetben a beégető kiírja az aktuális könyvtár nevét, majd a folyamattulajdonos oszlopait (USER), a folyamatazonosítót (PID) , a hozzáférés típusa (ACCESS) és a parancs (COMMAND), mint az alábbi képen.
fuser -v
A HOZZÁFÉRÉS oszlopban a következő betűkkel jelölt hozzáférési típusok láthatók:
c
– aktuális könyvtáre
– egy futtatható fájlf
– fájl megnyitása, azonban az f kimarad a kimenetbenF
– fájl megnyitása írásra, az F szintén ki van zárva a kimenetbőlr
– gyökérkönyvtárm
– mm-es fájl vagy megosztott könyvtár
Keresse meg, melyik folyamat fér hozzá egy fájlrendszerhez
Ezután meghatározhatja, hogy mely folyamatok érik el a ~.bashrc
fájlt, például:
fuser -v -m .bashrc
A -m
NÉV vagy a --mount
NAME opció azt jelenti, hogy a(z) NAME fájlhoz hozzáférő összes folyamatot elnevezzük. Abban az esetben, ha a könyvtárat NAME néven írja ki, az spontán módon a NAME/
névre változik, hogy bármilyen fájlrendszert használjon, amely esetleg a könyvtárba van csatlakoztatva.
Javasolt olvasmány: Keresse meg a 15 legnépszerűbb folyamatot memóriahasználat alapján Linux alatt
A folyamatok leállítása és jelzése a beégető segítségével
Ebben a részben a beégető használatával foglalkozunk a folyamatok leállítására és jelek küldésére.
A fájlhoz vagy sockethez hozzáférő folyamatok leállításához használja a -k
vagy --kill
opciót, például:
sudo fuser -k .
Egy olyan folyamat interaktív leállításához, ahol meg kell erősítenie a szándékát a fájlhoz vagy sockethez hozzáférő folyamatok leállítására, használja a -i
vagy a --interactive
opciót:
sudo fuser -ki .
Az előző két parancs megöli az aktuális könyvtárhoz hozzáférő összes folyamatot, a folyamatoknak küldött alapértelmezett jel a SIGKILL, kivéve a -SIGNAL használata esetén. .
Javasolt olvasmány: Útmutató a Kill, Pkill és Killall parancsokhoz Linuxban
Az összes jelet listázhatja a -l
vagy a --list-signals
opciókkal, az alábbiak szerint:
sudo fuser --list-signals
Ezért a következő parancs szerint küldhet jelet a folyamatoknak, ahol a SZIGNÁL a fenti kimenetben felsorolt jelek bármelyike.
sudo fuser -k -SIGNAL
Ez a parancs például a HUP jelet küldi minden olyan folyamatnak, amelynél nyitva van a /boot
könyvtár.
sudo fuser -k -HUP /boot
Próbálja meg átolvasni a beégető kézikönyvoldalt a speciális használati lehetőségekért, valamint további és részletesebb információkért.
Egyelőre ennyi, az alábbi visszajelzési szakaszon keresztül elérhet minket, ha bármilyen segítségre van szüksége, vagy bármilyen javaslatot szeretne tenni.