Ubuntu 18.04,其他版的Ubuntu也一样
问题:
当运行sudo apt-get install/update/或其他命令时,由于各种说不清的原因有时会出现如下提示:
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?
出现这个问题的原因可能是:
在Ubuntu系统终端下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将终端强行关闭。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装软件时,出现如上错误。即有另一个程序正在占用apt-get install进程,由于它在运行时,会占用软件源更新时的系统锁(简称‘系统更新锁'),此时资源被锁。
所以,第一种方法,我们只需要杀死之前的进程,释放系统锁就可以了:
ps -e|grep apt-get
显示
5873 ? 00:00:01 apt-get
然后执行
sudo kill 5873
第二种方法,强制解锁
linuxidc@linuxidc:~$ sudo rm /var/cache/apt/archives/lock [sudo] linuxidc 的密码: linuxidc@linuxidc:~$ sudo rm /var/lib/dpkg/lock
总结
以上所述是小编给大家介绍的Ubuntu E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
我正在用c语言(使用openwrt作为操作系统)构建一个项目,将文件上载到FTP服务器。我对传入的数据使用MQTT。因此,对于我订阅的每个主题,我都会保存这些数据,然后将其上载到FTP服务器,为了使事情顺利进行,每次需要上载文件时,我都会使用一个线程来完成这项工作。为了确保程序不会运行太多线程,允许每个主题创建一个线程。我使用了一个变量(比如mutex,但它不是pthread\u mutex\t,
我在C中使用tcp套接字服务器和客户端。使用AF_INET、SOCK_STREAM和IPPROTO_TCP 在sock send()命令上有一个可能导致“资源暂时不可用”的帖子,其中Davide Berra说 这是因为您使用的是非阻塞套接字,并且输出缓冲区已满。 从send()手册页
我试图让父进程在父进程继续之前等待多个子进程发出信号,使用未命名信号量数组(每个子进程一个信号量)。但是,当使用sem_wait()时,父进程将无限期地等待,而sem_trywait()返回“资源暂时不可用”错误,并在子进程没有发出信号的情况下继续。sem_init()和sem_post()都不返回错误。 编辑以添加:sem_wait()遇到错误,无论子进程在等待之前还是之后调用sem_post(
假定套接字处于阻塞模式
创建套接字 使其非阻塞 呼叫连接 按预期返回-1和errno EINPROGRESS 调用select 返回>0,因此已建立连接 再次阻塞套接字 此部件的代码如下: 那还行。但是我有一个循环,在这个循环中我调用了一个函数,该函数检查是否收到了要读取的新数据包:
我有一个伪终端从机,它给我一个资源暂时不可用的读/写错误(11)。我一直无法解决这个问题,但直到一周前我还不知道任何事情。所以,我可能漏掉了一些明显的东西。 根据我所了解的情况,这可能是由对非阻塞PTY调用引起的。但是,当我检查从pty的I之后的时,该值显示它是一个阻塞文件描述符。 我甚至尝试将视为非阻塞文件,使用来确定它何时就绪。但是,它只是每次都超时。 那么,如果设置为blocking,为什么