我正在使用带有 Docker 容器的 Ubuntu 22.04 服务器来处理智能设备。最近,我无法安装任何东西,因为我一直收到 lock-frontend 错误。
我查找了导致问题的原因,但一无所获。我重启了服务器,但问题并没有消失。每当我尝试安装或升级某些东西时,都会出现同样的错误。
我甚至尝试删除锁定文件,但没用。系统似乎卡在等待自己,我不知道如何修复它。
如果我要终止第一个结果,它只会终止我正在运行的 dpkg 操作
错误信息:
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3003989 (apt)
sudo dpkg --configure -a
也没有什么帮助,和 apt 有同样的问题。
列出正在运行的进程的 pid 结果如下:
ps aux | grep 3003989
root 3003989 0.1 0.0 13492 7528 pts/1 S+ 14:17 0:00 dpkg --configure -a
root 198985 0.0 0.0 6608 2432 pts/4 S+ 14:17 0:00 grep --color=auto 3003989
我不想重新安装所有东西。如果有人能帮忙,那就太好了。我还没发现有其他人遇到这个问题。感谢您提供的任何帮助。
答案1
消息显示 /var/lib/dpkg/lock-frontend
被进程持有3003989
。因此显然你可以杀解决问题的流程(最有可能)
但在继续终止之前,请检查 PID(在本例中为3003989
)是否属于任何可能导致任何类型的损坏或数据丢失的进程。
使用以下任意命令来查找该进程:
ps -p <PID>
ps aux | grep <PID>
在您的示例中,PID 是3003989
这样的ps -p 3003989
,或者ps aux | grep 3003989
它将列出该进程,如果该进程不相关,您可以尝试终止它。
为了杀戮流程:
sudo kill <PID>
如果这还不能杀死它;
sudo kill -9 <PID>
继续需要您自担风险