ubuntu下解决“无法获得锁 ”的方法

笔者目前在学习ROS开发,碰巧遇到了一个之前经常遇到的问题,网上说的解决方法含糊不清,为什么要这样做,怎样去做都没有说明白,下面我来教如何解决这个问题。

sudo apt-get install ros-kinetic-ros-tutorials
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

出现这个报错,原因在于我之前在未完成下载的情况下将窗口关闭, apt-get进程并没有结束而导致的,或者也有可能是你搜索一个不存在的安装包,apt进程返回结果后你很快地再次使用apt命令,就造成进程阻塞现象。

方法一:使用ps aux命令,直接kill掉锁死的进程

由于我是使用apt-get 命令后才产生这个报错的,所以我需要造出apt命令的进程,kill掉它,免得它一直阻塞在进程里面。
输入命令:ps aux
你会发现一堆进程,根本无法逐一查找,这时候,就需要配合grep(全面搜索正则表达式并把行打印出来)命令,来锁定apt-get的进程PID了。
因此,输入ps aux | grep “apt-get”,等到终端返回apt-get的PID后,再使用sudo kill xxx就可以了。比如返回的PID是 1001 ,那你就sudo kill 1001.

方法二:强制解锁

直接输入以下两行命令,把进程锁的缓存文件删除,也可以达到同样效果。
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值