设备 /dev/ttyusb0 锁定失败:不允许操作



今晚早些时候我正在使用minicom玩路由器,我一定没有干净地关闭它。这是我尝试打开小通时收到的错误消息:

device /dev/ttyusb0 lock failed: operation not permitted

我有两个问题,1)我将如何摆脱这种状态,以及2)我如何干净地退出minicom,以便我可以避免这种情况再次发生。

我发现我能够通过运行minicom -S <device> -o和正常的退出键序列(CTRL-a,x)来解决我的CentOS盒子上的情况。

在你的情况下,它会是

sudo minicom -S ttyusb0 -o

这清除了 minicom 放置在/var/lock/中的锁定文件

祝你好运灰

我在从远程终端使用gtkterm时遇到了类似的问题。 我在没有明确终止gtkterm的情况下关闭了终端。 结果是随后的 gtkterm 会话给了我错误:

Device /dev/ttyUSB0 is locked.

通过ps检查进程列表未显示任何仍在运行gtkterm进程。

我通过简单地删除/run/lock/LCK..ttyUSB0来纠正这一点。 这样做之后,gtkterm能够成功打开ttyUSB0。

  1. [root@edge-TC 锁]# 小通'
  2. 设备/dev/ttyUSB0 锁定失败:不允许操作。
  3. 解决方案:'
  4. 检查已锁定并终止进程的进程'
  5. [root@edge-tc lock]# fuser/dev/ttyUSB0'
  6. /dev/ttyUSB0: 18328
  7. [root@edge-TC 锁]# 杀死 -9 18328
  8. [root@edge-TC 锁]#'
  9. [root@edge-TC 锁]#'
  10. [root@edge-TC 锁]# 小通'
  11. 欢迎来到小通 2.1'

规范的方法是使用lockdev。这在 /run/lock/lockdev/ 中以每个设备为基础管理锁定文件(至少在 CentOS 7.x 下)。

lockdev <device>可以在没有root的情况下使用,如果设备已被锁定,则返回非零,在这种情况下,可以使用lockdev -u <device>解锁。

这显然已经过时了,但minicom(至少从 2.6.2 版开始)仍在使用它。

最新更新