3

簡単な質問がありますが、答えが見つかりません。外部USBペンドライブがアイドル状態かどうかをLinux(またはPython)で確認することは可能ですか? 私が書いているpythonスクリプトについてこれを知る必要があります。何も書き込んでいないとすぐに、外部 USB ペン ドライブのフォルダーの名前を変更する必要があります。

編集:開いているファイルを一覧表示する lsof コマンドがあることは知っています。「lsof /theDir」は半分しか機能しません。USBへのコピープロセスがまだ実行されている場合、問題なく動作します。しかし、プロセスが停止すると、lsof は何も表示しません。しかし、OS はまだバッファから USB に書き込んでいます。

4

1 に答える 1

4

を参照して、すべての I/O が処理されたかどうかを確認できます/sys/block/<dev>/stat。9 番目の列には、現在実行中の I/O の数が含まれます。https://www.kernel.org/doc/Documentation/block/stat.txtを確認してください。
この数値がゼロになると、デバイスはアイドル状態になります。

すべてのバッファをすぐに強制的に書き込むには、実行syncして戻るまで待つことができます。

ただし、書き込みを制御していない場合は、ここで競合状態が発生することに注意してください。デバイスがアイドル状態であると判断した後、他のプロセスが書き込みを開始する可能性があります。

于 2014-07-29T08:23:28.397 に答える