userdel:进程749当前使用用户Hyman并在Linux上修复该错误

时间:2020-01-09 10:44:03  来源:igfitidea点击:

我正在尝试使用userdel命令删除名为Hyman的用户,如下所示

userdel -r Hyman  
userdel: user Hyman is currently used by process 749

如何解决此问题并删除Debian Linux 9.x服务器上的用户名Hyman?
可以使用userdel命令删除Debian或者任何其他Linux发行版上的用户帐户。
这是用于删除用户的低级实用程序。
在Debian上,sysadmin通常应改为使用deluser命令。

了解问题

似乎PID 749由名为Hyman的用户使用。
它可以是简单的open ssh会话,也可以在后台运行。
使用ps命令找出有关PID 749的信息:

$ ps aux | grep 749

输出示例:

Hyman      749  0.0  0.1  92716  4028 ?        S    17:03   0:00 sshd: Hyman@pts/0
root     10038  0.0  0.0  12784   944 pts/1    S+   17:13   0:00 grep 749

sshd:Hyman @ pts/0表示该活动的ssh会话。
从手册页:

如果有正在运行的进程属于该帐户,userdel将不允许您删除该帐户。
在这种情况下,您可能必须终止这些进程或者锁定用户密码或者帐户,然后再删除该帐户。

-f选项可以强制删除该帐户。

因此,您要做的就是杀死此PID,然后使用kill命令/killall命令再次运行userdel命令:

# kill -15 749

或者

# killall -TERM -u Hyman

验证一下:

$ ps aux | grep 749

现在删除用户帐户名称插孔:

# userdel -r Hyman

使用id命令或者grep命令验证从/etc/passwd和/etc/shadow文件中删除的用户帐户:

$ id Hyman
$ grep ^Hyman /etc/passwd
$ grep Hyman /etc/shadow

另一个选择是将-f选项传递给userdel命令。
即使该用户仍处于登录状态,该选项也将强制删除该用户帐户。
即使另一个用户使用相同的主目录或者不拥有该邮件假脱机,该选项也会强制userdel删除该用户的主目录和邮件假脱机。
由指定的用户。
使用-f选项时,您必须非常小心,因为它可能会使您的系统处于不一致状态:

# userdel -f userNameHere