今天晚上早些时候我正在使用 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/ 中的锁定文件
祝你好运阿什
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 开始)仍然使用它。