【发布时间】:2012-08-12 21:12:21
【问题描述】:
今天晚上早些时候我正在使用 minicom 玩路由器,我一定没有干净地关闭它。这是我尝试打开 minicom 时收到的错误消息:
device /dev/ttyusb0 lock failed: operation not permitted
我有两个问题,1)我将如何摆脱这种状态,以及 2)我如何干净地退出 minicom 以便我可以避免再次发生这种情况。
【问题讨论】:
今天晚上早些时候我正在使用 minicom 玩路由器,我一定没有干净地关闭它。这是我尝试打开 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/ 中的锁定文件
祝你好运 灰
【讨论】:
/var/lock/LCK..ttyUSB0 文件,现在可以使用了。
我在远程终端使用gtkterm 时遇到了类似的问题。我在没有明确终止gtkterm 的情况下关闭了终端。结果是随后的 gtkterm 会话给了我错误:
Device /dev/ttyUSB0 is locked.
通过ps 检查进程列表未显示任何gtkterm 进程仍在运行。
我通过简单地删除 /run/lock/LCK..ttyUSB0 来纠正这个问题。之后,gtkterm 就可以成功打开 ttyUSB0。
【讨论】:
/dev/ttyUSB0: 18328【讨论】:
规范的方法是使用lockdev。这会在/run/lock/lockdev/ 中按设备管理锁定文件(至少在 CentOS 7.x 下)。
lockdev <device>可以在没有root的情况下使用,如果设备已经被锁定,则返回非零值,在这种情况下可以使用lockdev -u <device>解锁。
这几天显然已经过时了,但minicom(至少从 2.6.2 版开始)仍在使用它。
【讨论】: