Uzziniet, kā izmantot fuser komandu ar piemēriem Linux


Viens no vissvarīgākajiem uzdevumiem Linux sistēmu administrēšanā ir procesu vadība. Tas ietver vairākas monitoringa darbības, signalizācijas procesus, kā arī procesu prioritāšu noteikšanu sistēmā.

Ir daudz Linux rīku/utilītu, kas paredzēti procesu uzraudzībai/apstrādei, piemēram, killall, nice kopā ar daudziem citiem.

Šajā rakstā mēs atklāsim, kā atrast procesus, izmantojot atjautīgu Linux utilītu, ko sauc par fuser.

Fuser ir vienkārša, tomēr spēcīga komandrindas lietderība, kas paredzēta procesu atrašanai, pamatojoties uz failiem, direktorijiem vai ligzdām, kurām piekļūst konkrēts process. Īsāk sakot, tas palīdz sistēmas lietotājam identificēt procesus, izmantojot failus vai kontaktligzdas.

Kā izmantot fuser Linux sistēmās

Parastā sintakse sintezatora izmantošanai ir:

# fuser [options] [file|socket]
# fuser [options] -SIGNAL [file|socket]
# fuser -l 

Tālāk ir sniegti daži fuser izmantošanas piemēri, lai atrastu procesus jūsu sistēmā.

Palaidot fuser komandu bez jebkādas opcijas, tiks parādīti to procesu PID, kuri pašlaik piekļūst jūsu pašreizējam darba direktorijam.

$ fuser .
OR
$ fuser /home/tecmint

Lai iegūtu detalizētāku un skaidrāku izvadi, iespējojiet -v vai --verbose šādi. Fuser izvadē izdrukā pašreizējā direktorija nosaukumu, pēc tam procesa īpašnieka (USER), procesa ID (PID), piekļuves veida (ACCESS) un komandas (COMMAND) kolonnas, kā parādīts zemāk esošajā attēlā.

$ fuser -v

Slejā PIEEJA redzēsit piekļuves veidus, kas apzīmēti ar šādiem burtiem:

  1. c - pašreizējais direktorijs
  2. e - tiek palaists izpildāms fails
  3. f - atvērts fails, tomēr f tiek izlaists
  4. F - atvērts fails rakstīšanai, F ir arī izslēgts no izejas
  5. r - saknes direktorijs
  6. m - mmap’ed fails vai koplietojama bibliotēka

Pēc tam jūs varat noteikt, kuri procesi piekļūst failam ~ .bashrc šādi:

$ fuser -v -m .bashrc

Opcija -m NAME vai --mount NAME nozīmē visu procesu nosaukumus, kas piekļūst failam NAME. Ja direktoriju izsakāt kā NAME, tas tiek spontāni mainīts uz NAME/, lai izmantotu jebkuru failu sistēmu, kas, iespējams, ir pievienota šajā direktorijā.

Šajā sadaļā mēs strādāsim, izmantojot kūpinātāju, lai nogalinātu un nosūtītu signālus procesiem.

Lai nogalinātu procesus, kas piekļūst failam vai ligzdai, izmantojiet opciju -k vai --kill , piemēram:

$ sudo fuser -k .

Lai interaktīvi nogalinātu procesu, ja jums tiek lūgts apstiprināt savu nodomu nogalināt procesus, piekļūstot failam vai ligzdai, izmantojiet opciju -i vai --interactive :

$ sudo fuser -ki .

Divas iepriekšējās komandas iznīcinās visus procesus, kas piekļūst jūsu pašreizējam direktorijam, procesiem nosūtītais noklusējuma signāls ir SIGKILL, izņemot gadījumus, kad tiek izmantots -SIGNAL.

Visus signālus varat uzskaitīt, izmantojot opcijas -l vai --list-signal , kā norādīts tālāk:

$ sudo fuser --list-signals 

Tādēļ jūs varat nosūtīt signālu procesiem tāpat kā nākamajā komandā, kur SIGNAL ir jebkurš no iepriekš izvadā uzskaitītajiem signāliem.

$ sudo fuser -k -SIGNAL

Piemēram, šī tālāk norādītā komanda nosūta HUP signālu visiem procesiem, kuriem ir atvērts direktorijs /boot .

$ sudo fuser -k -HUP /boot 

Mēģiniet izlasīt drošinātāja rokasgrāmatu, lai iegūtu papildu lietošanas iespējas, papildu un detalizētāku informāciju.

Pašlaik tas ir, jūs varat sazināties ar mums, izmantojot tālāk sniegto atsauksmju sadaļu, lai saņemtu jebkādu nepieciešamo palīdzību vai ieteikumus, ko vēlaties sniegt.