web-dev-qa-db-ja.com

デバイス/ dev / ttyusb0ロックに失敗しました:操作は許可されていません

私は今晩、ミニコムを使ってルーターで遊んでいましたが、ルーターをきれいに閉じていなかったに違いありません。 minicomを開こうとすると表示されるエラーメッセージは次のとおりです。

device /dev/ttyusb0 lock failed: operation not permitted

2つの質問があります。1)この状態から抜け出すにはどうすればよいですか。2)これが再び発生しないように、ミニコムをクリーンに終了するにはどうすればよいですか。

8
William Jia

minicom -S <device> -oを実行し、通常の終了キーシーケンス(CTRL-a、x)を実行することで、CentOSボックスの状況を修正できることがわかりました。

あなたの状況ではそれは

Sudo minicom -S ttyusb0 -o

これにより、minicomが/ var/lock /に配置したロックファイルがクリアされました。

頑張ってアッシュ

21
Ash

リモート端末からgtktermを使用するときに同様の問題が発生しました。 gtktermを明示的に終了せずにターミナルをシャットダウンしました。その結果、後続のgtktermセッションでエラーが発生しました。

Device /dev/ttyUSB0 is locked.

psを介してプロセスリストを確認しても、まだ実行中のgtktermプロセスは表示されませんでした。

/run/lock/LCK..ttyUSB0を削除するだけでこれを修正しました。その後、gtktermはttyUSB0を正常に開くことができました。

5
MutantXenu
  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ロック]# '
  9. [root @ Edge-tcロック]# '
  10. [root @ Edge-tc lock] #minicom '
  11. Minicom 2.1 'へようこそ
2
Ajun

正規の方法は lockdev を使用することです。これは、/run/lock/lockdev/でデバイスごとにロックファイルを管理します(少なくともCentOS 7.xでは)。

lockdev <device>はrootでなくても使用でき、デバイスがすでにロックされている場合はゼロ以外を返します。その場合、lockdev -u <device>でロックを解除できます。

これは最近では明らかに時代遅れですが、minicom(少なくともバージョン2.6.2の時点では)はまだそれを使用しています。

0
Popup