Niekedy pri použití akejkoľvek distribúcie systému Linux väčšina používateľov dostala chybu: „user is currently used by process“. K tejto chybe mohlo dôjsť pri zmene používateľského mena alebo odstránení používateľa. Jedným z dôvodov tejto chyby je, že používateľ pri prihlasovaní odstraňoval alebo menil meno používateľa. Ak hľadáte riešenia pre túto konkrétnu chybu, tento návod je pre vás. Uistite sa, že máte vo svojom systéme nainštalovanú niektorú z distribúcií Linuxu. V našom prípade je to Ubuntu 20.04 Systém Linux.
Príklad 01
Najskôr sa musíte pozrieť na chybu. Predpokladajme, že máte vo svojom Ubuntu 20 viac ako jeden účet.04 a chcete jeden z nich vymazať. Takže v našom Ubuntu 20 máme používateľa „Saeed“.04, a chceme ho vymazať. Prihláste sa od používateľa „saeed“ a otvorte príkazový terminál. Teraz zadajte nasledujúci príkaz na odstránenie používateľa „saeed“. Výstup na snímke ukazuje, že používateľa už nejaký proces „3751“ používa.
$ userdel -r saeed
Zabijme tento proces a odstránime tohto používateľa pomocou príkazu „pkill“ a ID procesu, ako je uvedené nižšie. Tento príkaz ukončí proces a používateľ bude odhlásený, pričom ho nebude možné odstrániť.
$ pkill -9 3751
Keď vyskúšame príkaz userdel s príznakom „if“ na násilné odstránenie používateľa „saeed“, nefunguje to ani takto:
$ userdel -f saeed
Aby sme sa vyhli tejto chybe, prihlásime sa z iného účtu. Informácie týkajúce sa ID procesu „3751“ nájdete pomocou nižšie uvedeného príkazu „ps“.
$ ps aux | grep 3751
Teraz môžete zabiť všetky procesy, ktoré spôsobili, že používateľ „saeed“ odstránil alebo v ňom niečo zmenil. Za týmto účelom vykonajte nižšie uvedený dotaz „killall“, za ktorým nasleduje meno používateľa a príznak „-u“ spolu s kľúčovým slovom „-TERM“.
$ killall -TERM -u saeed
Po odstránení všetkých procesov vymažeme používateľa z tohto účtu pomocou nižšie uvedeného príkazu sudo nasledovaného kľúčovým slovom „userdel“, zatiaľ čo spolu s používateľským menom používateľa, ktorý má byť odstránený, použijeme príznak „-r“. Na odstránenie konkrétneho používateľa môže byť potrebné vaše aktuálne heslo k účtu. Pridajte svoje heslo a stlačte kláves Enter na klávesnici. Na konci bude výstup, že používateľ bol úspešne odstránený a už sa nenašiel.
$ sudo userdel -r saeed
Potvrďte odstránenie používateľa „saeed“ pomocou jednoduchého príkazu „id“. Na výstup bude, že neexistuje žiadny užívateľ. Vyskúšajte to nasledovne:
$ id saeed
Príklad 02
Pozrime sa na ďalší podobný príklad, aby sme tomuto konceptu správne porozumeli. Predpokladajme, že máte v systéme Ubuntu Linux iné používateľské konto s názvom „Rimsha“ a chcete tohto používateľa odstrániť. Na začiatku sa prihlásite z používateľského účtu s názvom „rimsha“ a otvoríte v ňom terminál. Potom sa pokúsite vymazať používateľa „Rimsha“ pomocou príkazu „userdel“, za ktorým nasleduje príznak „-r“ uvedený nižšie.
$ userdel -r RimshaUkáže vám chybu, že aktuálny používateľ, v ktorom ste momentálne prihlásený, je už používaný procesom s ID procesu 9566. To znamená, že tento účet nemôžete odstrániť skôr, ako tento proces zabijete, keď ste aktuálne prihlásení z rovnakého účtu.
Ďalšie informácie o riešení problémov s chybou 9566 môžete získať pomocou príkazov „ps“ a „aux“, ako je uvedené nižšie. V tomto príkaze musíte zadať ID procesu.
$ ps aux | grep 9566
Musíte teda prejsť na iný účet. Na uskutočnenie zmien sme tentokrát používali „aqsayasin“. Ak chcete uviesť všetkých súčasných používateľov systému Ubuntu Linux, vyskúšajte nasledujúci príkaz getent takto:
$ getent passwd
Z výstupu vidíte, že má všetky spomenuté používateľské mená, ktoré sme používali alebo sú momentálne prihlásené.
Pred odstránením používateľa „Rimsha“ sa uistite, či tento účet existuje v našom systéme Linux. Aby ste to videli, vyskúšajte nižšie uvedenú jednoduchú inštrukciu Id spolu s používateľským menom, ktoré chcete skontrolovať. Získate informácie týkajúce sa používateľa, ak existuje, napr.g., ID používateľa, skupiny a ID skupiny.
$ id rimsha
Niektoré ďalšie informácie týkajúce sa používateľa „Rimsha“ môžete získať aj pomocou nižšie uvedeného príkazu grep.
$ grep ^ rimsha / etc / passwd
Teraz je čas zabiť všetky tie procesy používateľa „Rimsha“, ktoré držali používateľa „Rimsha“, aby sa odstránil. Ak chcete vymazať všetky procesy, pokúsime sa vykonať nasledujúci dotaz „killall“ nasledovaný príznakom „-TERM“ a „-u“ spolu s menom používateľa. Teraz boli všetky procesy zabité, pretože sme momentálne prihlásení z iného účtu, aby sme to mohli urobiť.
$ killall -TERM -u Rimsha
Po zabití všetkých procesov, ktoré bránia procesu odstránenia, sme teraz pripravení používateľa vymazať. Rovnaký príkaz „userdel“ používame na odstránenie používateľa s oprávneniami sudo a príznakom „-r“ a používateľským menom používateľa, ktorý má byť odstránený. Na vykonanie tohto procesu vymazania môže byť potrebné vaše aktuálne prihlásené užívateľské heslo. Zadajte heslo a stlačte kláves Enter. Môžete vidieť, že zobrazuje, že užívateľ „Rimsha“ už nenájde.
$ sudo userdel - r Rimsha
Potvrďte vymazanie používateľa „rimsha“ pomocou rovnakého starého príkazu „id“ v škrupine, ako je uvedené nižšie. Zobrazuje výstup, že v systéme Ubuntu 20 sa nenašiel žiadny používateľ „rimsha“.04 Systém Linux bez chyby.
$ id rimsha
Záver
Nakoniec! Vyriešili sme chybu pri riešení problémov: proces v súčasnosti používa používateľa. Nezabudnite vykonať všetky kroky tohto tutoriálu, aby ste lepšie pochopili chybu pri riešení problémov.