USBデバイスがアイドリングされているかどうかを確認します
-
20-12-2019 - |
質問
私は簡単な質問をしていますが、私は答えを見つけることができません。 外部USBペンドライブがアイドリングされているかどうかを確認するためにLinux(またはPython)で可能ですか? 私が書いているPythonスクリプトのためにこれを知る必要があります。 私はそれに何も書いているのではない限り、外部USBペンドライブのフォルダの名前を変更する必要があります。
編集:オープンファイルを一覧表示するLSOFコマンドがあることを知っています。'lsof / thedir'は半分の動作です。USBにコピーしているプロセスがまだ実行されている場合は、OK機能します。しかし、プロセスが停止すると、LSOFは何も示していません。しかし、OSはまだそのバッファからUSBに書き込んでいます。
解決
/sys/block/<dev>/stat
を見て、すべてのI / Oが処理されたかどうかを確認できます。
NINTH列には、現在Flight にあるI / Oの数が含まれています。 https://www.kernel.org/doc/documentation/block/stat。txt
この数値がゼロになると、デバイスはアイドル状態になるはずです。
すべてのバッファを直ちに書き込むように強制するには、sync
を実行して返すまで待ちます。
あなたが書くことを管理していないならば、ここに競争条件を持っていることを知ってください - あなたがデバイスがアイドル状態であると決めた後に他のプロセスがそれに書き込みを開始することができました。
所属していません StackOverflow