Weboldal keresés

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:

  1. c – aktuális könyvtár
  2. e – egy futtatható fájl
  3. f – fájl megnyitása, azonban az f kimarad a kimenetben
  4. F – fájl megnyitása írásra, az F szintén ki van zárva a kimenetből
  5. r – gyökérkönyvtár
  6. m – 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.