【问题标题】:device /dev/ttyusb0 lock failed: operation not permitted设备 /dev/ttyusb0 锁定失败:不允许操作
【发布时间】:2012-08-12 21:12:21
【问题描述】:

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

device /dev/ttyusb0 lock failed: operation not permitted

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

【问题讨论】:

    标签: shell terminal emulation


    【解决方案1】:

    我发现我可以通过运行minicom -S <device> -o 并执行正常的退出键序列(CTRL-a、x)来修复我的 CentOS 机器上的情况。

    在你的情况下应该是

    sudo minicom -S ttyusb0 -o

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

    祝你好运 灰

    【讨论】:

    • "这清除了锁定文件..." 这不起作用,但手动删除这些锁定文件可以。呵呵。
    • 我手动删除了/var/lock/LCK..ttyUSB0 文件,现在可以使用了。
    【解决方案2】:

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

    Device /dev/ttyUSB0 is locked.

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

    我通过简单地删除 /run/lock/LCK..ttyUSB0 来纠正这个问题。之后,gtkterm 就可以成功打开 ttyUSB0。

    【讨论】:

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2020-01-29
          • 2017-12-06
          • 2012-06-19
          • 1970-01-01
          • 1970-01-01
          • 2012-08-18
          • 2019-01-25
          • 2023-01-27
          • 1970-01-01
          相关资源
          最近更新 更多