どのデバイスの電源が入っているかを確認する方法

どのデバイスの電源が入っているかを確認する方法

現在開いているデバイスまたはすでに実行されているデバイスを知らせるシェルコマンドはありますか?

たとえば、minicom を使用してデバイスを開いたり、プログラムを使ってデバイスを/dev/ttyUSB0開い/dev/ttyS0た後に、そのデバイスがシェルで開かれたかどうかを確認できますか?試してみましたが、dmesg私には効果がないようです。

答え1

lsof <your devices>デバイスを使用するプロセスを表示します。または、strace -p pidデバイスを使用する必要があることがわかっているプロセスを追跡します。

答え2

私はlsofが使うべきツールだと思います。プロセスで使用されているすべてのファイルが一覧表示されます。

プロセスIDがわからない場合は、フューザを使用することもできます。

答え3

ブロックデバイス

質問に与えられた例はいいえ端末をブロックしますが、質問は一般的なものなのではいブロックデバイス、使用:

badblocks -n -c1 /dev/device-name 0 0

これにより、デバイスの最初の1024バイトを非破壊的に書き換えようとします。

これを使用すると、次のようになります。

/dev/device-name is apparently in use by the system; it's not safe to run badblocks!

関連情報