Néha bármely Linux disztribúció használata közben a felhasználók többsége a következő hibát kapta: „A felhasználót jelenleg a folyamat használja”. Ez a hiba a felhasználónév megváltoztatása vagy a felhasználó törlése közben történhetett. A hiba egyik oka az, hogy a felhasználó törli vagy megváltoztatja a felhasználó nevét bejelentkezés közben. Ha megoldásokat keres erre a hibára, akkor ez az oktatóanyag az Ön számára. Győződjön meg arról, hogy a Linux disztribúció telepítve van-e a rendszerére. Esetünkben ez az Ubuntu 20.04 Linux rendszer.
01. példa
Először meg kell nézni a hibát. Tegyük fel, hogy több fiókja van az Ubuntu 20-ban.04 rendszert, és törölni szeretné az egyiket. Tehát van egy „Saeed” felhasználó az Ubuntu 20-ban.04, és törölni szeretnénk. Jelentkezzen be a „saeed” felhasználótól, és nyissa meg a parancssort. Írja be az alábbi parancsot a „saeed” felhasználó törléséhez. A pillanatkép kimenete azt mutatja, hogy a felhasználót már használja valamilyen „3751” folyamat.
$ userdel -r saeed
Öljük meg ezt a folyamatot a felhasználó törléséhez a „pkill” paranccsal és a folyamatazonosítóval az alábbiak szerint. Ez a parancs megöli a folyamatot, és a felhasználót kijelentkeztetjük, miközben ez nem törölheti a felhasználót.
$ pkill -9 3751
Amikor megpróbáljuk a userdel parancsot az „if” jelzővel erőteljesen törölni a „saeed” felhasználót, az sem a következőképpen működik:
$ userdel -f saeed
A hiba elkerülése érdekében jelentkezzünk be a másik fiókból. Az alábbi „ps” paranccsal megtalálja a „3751” folyamatazonosítóval kapcsolatos információkat.
$ ps aux | grep 3751
Most megölheti az összes olyan folyamatot, amely a felhasználót „tördelte”, hogy törölje vagy megváltoztasson valamit benne. Ehhez hajtsa végre az alábbi „killall” lekérdezést, amelyet a felhasználó neve és az „-u” zászló, valamint a „-TERM” kulcsszó követ.
$ killall -TERM -u saeed
Az összes folyamat törlése után töröljük a felhasználót erről a fiókról az alábbi sudo paranccsal, amelyet a „userdel” kulcsszó követ, miközben a „-r” jelzőt használjuk a törölni kívánt felhasználó neve mellett. Előfordulhat, hogy az adott felhasználó törléséhez a jelenlegi fiók jelszavára van szükség. Adja meg jelszavát, és nyomja meg az Enter gombot a billentyűzeten. Kiadja, hogy a felhasználót sikeresen törölték, és már nem található.
$ sudo userdel -r saeed
Erősítsük meg a „saeed” felhasználó törlését az egyszerű „id” paranccsal. Kiadja, hogy nincs felhasználó. Próbálja ki az alábbiak szerint:
$ id saeed
02. példa
Nézzünk meg egy másik hasonló példát a koncepció megfelelő megértéséhez. Tegyük fel, hogy van egy másik felhasználói fiókja az Ubuntu Linux rendszerben, „Rimsha” néven, és törölni szeretné ezt a felhasználót. Az elején bejelentkezik a „rimsha” nevű felhasználói fiókból, és megnyitja benne a terminált. Ezután megpróbálja törölni a „Rimsha” felhasználót, miközben a „userdel” parancsot követi, amelyet egy „-r” jelző követ, az alábbiak szerint.
$ userdel -r RimshaHiba jelenik meg, hogy az aktuális felhasználót, amelybe jelenleg be van jelentkezve, már használja egy folyamat, amelynek folyamatazonosítója 9566. Ez azt jelenti, hogy nem törölheti ezt a fiókot, mielőtt megöli ezt a folyamatot, miközben jelenleg ugyanarról a fiókról van bejelentkezve.
További információkkal szolgálhat a 9566 hibaelhárításról a „ps” és „aux” parancsok használatával, az alábbiak szerint. Ebben a parancsban meg kell adnia a folyamat azonosítóját.
$ ps aux | grep 9566
Tehát át kell váltania egy másik fiókra. Ezúttal az „aqsayasin” -ot használtuk változtatásokra. Ha fel szeretné sorolni az Ubuntu Linux rendszer összes jelenlegi felhasználóját, próbálkozzon az alábbi getent paranccsal:
$ getent passwd
A kimenetből láthatja, hogy az összes megnevezett felhasználónevet tartalmazza, amelyet használtunk vagy éppen bejelentkeztünk.
A „Rimsha” felhasználó törlése előtt ellenőrizzük, hogy létezik-e ez a fiók a Linux rendszerünkben. És ennek megtekintéséhez próbálja ki az alábbi egyszerű Id utasítást az ellenőrizendő felhasználónévvel együtt. Megkapja a felhasználóval kapcsolatos információkat, ha léteznek, pl.g., felhasználói azonosító, csoportok és csoportazonosító.
$ id rimsha
Az alábbi grep paranccsal további információkat is kaphat a „Rimsha” felhasználóval kapcsolatban.
$ grep ^ rimsha / etc / passwd
Itt az ideje megölni mindazokat a felhasználói „Rimsha” folyamatokat, amelyek a „Rimsha” felhasználót tartották a törléshez. Az összes folyamat törléséhez megpróbáljuk végrehajtani az alábbi “killall” lekérdezést, amelyet a “-TERM” és “-u” zászló követ, valamint egy felhasználó nevét. Most az összes folyamatot megölték, mert erre egy másik fiókból vagyunk bejelentkezve.
$ killall -TERM -u Rimsha
Miután megöltük mindazokat a folyamatokat, amelyek visszatartják a törlés folyamatát, készen állunk a felhasználó törlésére. Ugyanazt a „userdel” parancsot használtuk a sudo jogosultsággal rendelkező felhasználó és a törölni kívánt felhasználó „-r” jelzőjének és felhasználónevének törlésére. Előfordulhat, hogy a törlési folyamat végrehajtásához a jelenleg bejelentkezett felhasználói jelszavára van szükség. Írja be a jelszót, és nyomja meg az Enter billentyűt. Láthatja, hogy megjeleníti, hogy a „Rimsha” felhasználó már nem található.
$ sudo userdel - r Rimsha
Erősítsük meg egy „rimsha” felhasználó törlését ugyanazzal a régi „id” paranccsal a shellben, mint az alábbiak. Megjeleníti azt a kimenetet, hogy az Ubuntu 20-ban nincs felhasználói „rimsha”.04 Linux rendszer hiba nélkül.
$ id rimsha
Következtetés
Végül! Megoldottuk a hibaelhárítási hibát: egy folyamat jelenleg a felhasználót használja. Feltétlenül hajtsa végre az oktatóanyag minden lépését a hibaelhárítási hiba jobb megértése érdekében.