質問

私は簡単な質問をしていますが、私は答えを見つけることができません。 外部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を実行して返すまで待ちます。

あなたが書くことを管理していないならば、ここに競争条件を持っていることを知ってください - あなたがデバイスがアイドル状態であると決めた後に他のプロセスがそれに書き込みを開始することができました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top