Linux scnrに切り替える
これは Windows オペレーティング システムの欠陥であり、実際には回避することはできません。ファイルを開く各プログラムは、同時にファイルを開く他のプログラムに同意する必要があります。これは、私がまだ Windows を使用していた何年も前に発生した問題でした。ファイルを開いて、「他の人にもこれを開かせてください」と言うだけでは十分ではありません。他の人も、既に開いている場合でも、このファイルを開くと言う必要があります。
一方、Linux では、オペレーティング システムは、Windows のようにファイルをロックすることをまったく許可していません。ここで、ファイルが複数のプログラムによって同時に使用されている場合、プログラム自体が同時アクセスがロックアウトされることを確認する必要があります。さらに、Linux では、ファイルを作成し、他のプロセスが開始されてファイルが開かれていることを確認してから、(開いている間に) ファイルを削除することができます。ファイル名はすぐにファイル システムから削除されますが、最後のリンク (開いているファイル ハンドルを含む) が削除されるまで、ファイルはファイル システム ドライバーによって保持されます。
問題に戻る: Windows ではこれらすべてが機能しないため、他の 2 つの方法を実行できます。
- 次回の起動時に削除するファイルを登録します (Win3x の時代には、win.ini にそのためのセクションがありました。新しい Windows バージョンはまだそれをサポートしていますが、今ではどのように行われているか思い出せません)。
- 他のプロセスを開始し、ファイルを開くのを待ち、ファイルを閉じてから、削除が成功するまで毎分ファイルの削除を試みます...
よろしく、ボードー