device / dev / ttyusb0 lock failed:不允许操作

时间:2012-08-16 13:43:50

标签: shell terminal emulation

我今晚早些时候正在玩一个路由器使用minicom而且我一定不能干净利落地关闭它。这是我尝试打开minicom时收到的错误消息:

device /dev/ttyusb0 lock failed: operation not permitted

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

4 个答案:

答案 0 :(得分:21)

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

在你的情况下,它本来是

sudo minicom -S ttyusb0 -o

这清除了minicom放在/ var / lock /

中的锁文件 祝你好运 灰

答案 1 :(得分:5)

我在使用远程终端的tag时遇到了类似的问题。我在没有明确终止require 'openssl' require 'base64' def encrypt(data) cipher = OpenSSL::Cipher::AES128.new(:GCM).encrypt key = cipher.random_key iv = cipher.random_iv cipher.key = key cipher.iv = iv cipher.auth_data = '' enc_data = cipher.update(data) + cipher.final return enc_data, key, iv, cipher.auth_tag end def decrypt(data, key, iv, auth_tag) cipher = OpenSSL::Cipher::AES128.new(:GCM).decrypt cipher.decrypt cipher.key = key cipher.iv = iv cipher.auth_data = '' cipher.auth_tag = auth_tag cipher.update(data) + cipher.final end data = 'Hello2' enc_data, key, iv, auth_tag = encrypt(data) original_data = decrypt(enc_data, key, iv, auth_tag) if data == original_data puts "Yes" end 的情况下关闭了终端。结果是随后的gtkterm会话给了我错误:

gtkterm

通过gtkterm检查流程列表并未显示任何Device /dev/ttyUSB0 is locked.进程仍在运行。

我通过简单地删除ps来纠正此问题。在这之后,gtkterm能够成功打开ttyUSB0。

答案 2 :(得分:2)

  1. [root @ edge-tc lock]#minicom'
  2. 设备/ dev / ttyUSB0锁定失败:不允许操作。'
  3. 解决方案:'
  4. 检查已锁定的进程并杀死该进程'
  5. [root @ edge-tc lock]#热熔器/ 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'

答案 3 :(得分:0)

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

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

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