运行 sudo visudo 命令时出现问题?visudo: /etc/sudoers busy ,稍后再试

Kes*_*ari 5 command-line sudo 16.04

当我尝试运行命令 sudovisudo并显示错误时出现问题:

visudo: /etc/sudoers busy ,try again later
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 7

首先找出哪个进程正在使用/etc/sudoers文件:

sudo lsof /etc/sudoers
Run Code Online (Sandbox Code Playgroud)

从你的输出来看,似乎是另一个visudo例子:

visudo 9348 root 5uW REG 8,1 755 9699545 /etc/sudoers 
Run Code Online (Sandbox Code Playgroud)

所以,启动一个 root shell:

sudo -i
Run Code Online (Sandbox Code Playgroud)

然后运行:

kill -15 9348
ps --no-heading 9348 || kill -9 9348
Run Code Online (Sandbox Code Playgroud)

打开另一个终端,运行:

sudo visudo
Run Code Online (Sandbox Code Playgroud)

确保一切正常,然后您可以从 root shell 注销。