プロセスが別のプロセスで使用されているため、ファイルにアクセスできません

ファイルがすでに使用されている場合、別のプロセスによって変更することはできないことはよく知られています。このシナリオでは、プログラムまたはプロセスがファイルを開くと、OSがそのファイルにロックをかけ、別のプログラムがそのファイルを修正しようとすると許可されません。この投稿では、プロセスが別のプロセスで使用されているため、ファイルにアクセスできませんというエラーを解決するのに役立ちます。

プロセスが別のプロセスで使用されているため、ファイルにアクセスできません

プログラムがファイルにアクセスできない理由がわかったところで、どのプロセスがすでにロックをかけているかを調べる必要があります。このエラーは、Visual Studio、Outlook、Windows Update、写真アプリ、Javaなどのプログラムで発生する可能性があります。

先に進む前に、コンピュータを再起動して、このエラーが解消されるかどうかを確認することをお勧めします。

再起動したくない場合は、ロックを見つけるために、Sysinternal SuiteのProcess Explorerを使用する必要があります。

Process Explorerプログラムを起動し、「Windowsプロセスを検索」というアイコンを見つけます。アイコンをドラッグしてファイルにドロップすると、プロセスがすぐに表示されます。

プロセスを右クリックして終了します。

これで、プログラムでファイルにアクセスしようとすると、エラーは発生しません。

Windows Updateコード0x80070020を修正する

Windowsを更新またはアップグレードするときに、エラーコード0x80070020が表示された場合、Windows Updateプロセスに必要なファイルまたはリソースが別の場所で​​使用されていることを意味します。完全なエラーメッセージは次のとおりです。

既存のプロセスは、別のプロセスで使用されているため、ファイルにアクセスできません。

このエラーを修正するには、MSCONFIGツールを使用してPCをクリーンブート状態にしてから、もう一度更新を試みる必要があります。

写真アプリのエラー0x80070020を修正する

写真アプリでも同様のエラーが発生し、別のプロセスが使用しているためファイルを保存できません。ファイル名を変更したり、別の場所に保存したりする必要がある場合があります。

プロセスが別のプロセスで使用されているため、Javaでファイルにアクセスできないという問題を解決するにはどうすればよいですか?

Javaでプロセスがファイルにアクセスできないというエラーを解決するには、まず、コードによってファイルに同時にアクセスされていないことを確認します。同期ブロックまたはメソッドを利用して、同時アクセスを管理します。サードパーティのライブラリを使用している場合は、適切な使用とリソースの解放を確認してください。また、Javaプログラムを実行する前に、ファイルが別のアプリケーションで開かれていないことを確認してください。必要に応じて、FileChannelまたはjava.nioパッケージを使用して、ファイルをより堅牢に処理します。

これは重大なエラーではなく、ファイルの変更のみを制限します。コンピュータを再起動すれば問題が解決する可能性が高いですが、常にこの問題が発生する場合は、これらのヒントが問題の解決に役立ちます。