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

10

今天晚上我在使用minicom玩耍并没有干净地关闭它。当我尝试打开minicom时,会出现以下错误消息:

device /dev/ttyusb0 lock failed: operation not permitted

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

4个回答

25

我发现在我的CentOS系统上,通过运行 minicom -S <device> -o 并执行正常的退出键序列(CTRL-a,x),可以解决这个问题。

在你的情况下,应该是

sudo minicom -S ttyusb0 -o

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

祝好运 Ash


3
清除了锁定文件......这并没有起作用,但手动删除这些锁定文件可以,呵呵。 - xtian
我手动删除了/var/lock/LCK..ttyUSB0文件,现在它可以正常工作了。 - smwikipedia

9
我在使用远程终端连接 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'

0

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

lockdev <device>可以在无需root权限的情况下使用,如果该设备已被锁定,则返回非零值,此时可以使用lockdev -u <device>将其解锁。

这种方式现在似乎已经过时了,但minicom(至少在版本2.6.2中)仍在使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接