Поиск по сайту:

Ошибка устранения неполадок: Usermod: процесс в настоящее время использует пользователя


Иногда при использовании любого дистрибутива Linux у большинства пользователей возникала ошибка: «пользователь в данный момент используется процессом». Эта ошибка могла возникнуть при изменении имени пользователя или удалении пользователя. Одна из причин этой ошибки заключается в том, что пользователь удалял или менял имя пользователя при входе в систему. Если вы ищете решения для этой конкретной ошибки, это руководство для вас. Убедитесь, что в вашей системе установлен какой-либо из дистрибутивов Linux. В нашем случае это система Ubuntu 20.04 Linux.

Пример 01

Во-первых, вы должны посмотреть на ошибку. Предположим, у вас есть более одной учетной записи в вашей системе Ubuntu 20.04, и вы хотите удалить одну из них. Итак, у нас есть пользователь «Саид» в нашей Ubuntu 20.04, и мы хотим его удалить. Войдите под пользователем «saeed» и откройте командный терминал. Теперь напишите приведенную ниже команду, чтобы удалить пользователя «saeed». Вывод в снимке показывает, что пользователь уже используется каким-то процессом «3751».

$ userdel –r saeed

Давайте завершим этот процесс, чтобы удалить этого пользователя, используя команду «pkill» и идентификатор процесса, как показано ниже. Эта команда убьет процесс, а пользователь выйдет из системы, при этом пользователь не может быть удален.

$ pkill -9 3751

Когда мы пытаемся выполнить команду userdel с флагом «if», чтобы принудительно удалить пользователя «saeed», она также не работает следующим образом:

$ userdel –f saeed

Давайте войдем из другой учетной записи, чтобы избежать этой ошибки. Вы можете найти информацию об идентификаторе процесса «3751», используя приведенную ниже команду «ps».

$ ps aux | grep 3751

Теперь вы можете убить все процессы, которые удерживали пользователя «saeed», чтобы удалить его или что-то изменить в нем. Для этого выполните приведенный ниже запрос «killall», за которым следует имя пользователя и флаг «-u» вместе с ключевым словом «-TERM».

$ killall –TERM –u saeed

После удаления всех процессов мы удалим пользователя из этой учетной записи, используя приведенную ниже команду sudo, за которой следует ключевое слово «userdel», используя флаг «-r» вместе с именем пользователя, которого нужно удалить. Для удаления конкретного пользователя может потребоваться пароль вашей текущей учетной записи. Добавьте свой пароль и нажмите кнопку Enter на клавиатуре. Он выведет, что пользователь был успешно удален и больше не найден.

$ sudo userdel –r saeed

Давайте подтвердим удаление пользователя «saeed», используя простую команду «id». Выдает, что пользователя нет. Попробуйте сделать это следующим образом:

$ id saeed

Пример 02

Давайте посмотрим на другой подобный пример, чтобы правильно понять эту концепцию. Предположим, у вас есть другая учетная запись пользователя в системе Ubuntu Linux с именем «Rimsha», и вы хотите удалить этого пользователя. На старте вы войдете под учетной записью пользователя «rimsha» и откроете в ней терминал. После этого вы попытаетесь удалить пользователя «Rimsha», используя команду «userdel», за которой следует флаг «-r», как показано ниже.

$ userdel –r Rimsha

Он покажет вам ошибку, что текущий пользователь, под которым вы вошли в систему, уже используется процессом с идентификатором процесса 9566. Это означает, что вы не можете удалить эту учетную запись, прежде чем убить этот процесс, пока вы в настоящее время вошли в систему из того же счет.

Вы можете получить дополнительную информацию об устранении ошибки 9566 с помощью команд «ps» и «aux», как показано ниже. Вы должны указать идентификатор процесса в этой команде.

$ ps aux | grep 9566

Итак, вам нужно переключиться на другую учетную запись. На этот раз мы использовали «aqsayasin», чтобы внести изменения. Если вы хотите получить список всех текущих пользователей системы Ubuntu Linux, попробуйте следующую команду getent следующим образом:

$ getent passwd

Из вывода видно, что в нем есть все упомянутые имена пользователей, которые мы использовали или вошли в систему в данный момент.

Прежде чем удалять пользователя «Римша», давайте удостоверимся, что эта учетная запись существует в нашей системе Linux. И чтобы убедиться в этом, попробуйте приведенную ниже простую инструкцию Id вместе с проверяемым именем пользователя. Вы получите информацию о пользователе, если он существует, например, идентификатор пользователя, группы и идентификатор группы.

$ id rimsha

Вы также можете получить дополнительную информацию о пользователе «Rimsha», используя приведенную ниже команду grep.

$ grep ^rimsha /etc/passwd

Теперь пришло время убить все те пользовательские процессы «Rimsha», которые удерживали пользователя «Rimsha», чтобы удалить себя. Чтобы удалить все процессы, мы попытаемся выполнить приведенный ниже запрос «killall», за которым следует флаг «-TERM» и «-u», а также имя пользователя. Теперь все процессы были убиты, потому что мы в настоящее время вошли в систему из другой учетной записи, чтобы сделать это.

$ killall –TERM –u Rimsha

После уничтожения всех тех процессов, которые сдерживают процесс удаления, теперь мы готовы удалить пользователя. Мы использовали ту же команду «userdel», чтобы удалить пользователя с привилегиями sudo, а также флаг «-r» и имя пользователя, которого нужно удалить. Для выполнения этого процесса удаления может потребоваться пароль пользователя, вошедшего в систему. Введите пароль и нажмите клавишу Enter. Вы можете видеть, что он показывает, что пользователь «Римша» больше не найден.

$ sudo userdel – r Rimsha

Давайте подтвердим удаление пользователя «rimsha», используя ту же самую старую команду «id» в оболочке, как показано ниже. Он отображает вывод о том, что в системе Ubuntu 20.04 Linux не найден пользователь «rimsha » без ошибки.

$ id rimsha

Заключение

Окончательно! Мы устранили ошибку устранения неполадок: процесс в настоящее время использует пользователя. Обязательно выполните каждый шаг этого руководства, чтобы лучше понять ошибку устранения неполадок.

Статьи по данной тематике: