修正:別のプロセスによって使用されているため、プロセスがファイルにアクセスできない



問題を排除するために楽器を試してください

何人かのWindowsユーザーが「 別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。」 エラー。ほとんどの場合、この問題は、ユーザーがnetshコマンドを実行しようとしたときに発生します。一部のユーザーは、IIS(インターネットインフォメーションサービス)MMC(Microsoft管理コンソール)スナップインでWebサイトを右クリックしようとすると、エラーメッセージが表示されると報告しています。



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



この問題は、Windows Vista、Windows 7、Windows 8.1、Windows 10、およびさまざまなWindowsServerバージョンで発生することが報告されています。



プロセスが別のプロセスによって使用される原因は何ですか?

この特定の問題を調査するために、さまざまなユーザーレポートと、問題を解決するために使用した修復戦略を調べました。収集できたものに基づいて、この特定のエラーメッセージをトリガーするいくつかの一般的なシナリオがあります。

  • コマンドには管理者権限が必要です –ターミナル内でエラーが発生した場合は、変更を行うための管理者権限がないことが原因である可能性があります。同様の状況にある何人かのユーザーは、管理者権限を付与することで問題を解決することができました。
  • 別のプロセスは、ポート80またはポート443を使用しています –これは、IIS(インターネットインフォメーションサービス)を実行しているコンピューターで一般的です。別のプロセスがこれらの2つのポートを使用している場合は、このエラーメッセージが表示されます。
  • ListenOnlyListレジストリサブキーが正しく構成されていません –この特定のエラーをトリガーするIIS(インターネットインフォメーションサービス)のもう1つの一般的なシナリオは、誤って構成されたListenOnlyListレジストリサブキーです。

現在、この特定のエラーメッセージの解決に苦労している場合は、この記事で検証済みのトラブルシューティング手順のコレクションを提供します。以下に、同様の状況にある他のユーザーが問題を解決するために使用したメソッドのコレクションがあります。

最良の結果を得るには、特定のシナリオでエラーを解決するのに効果的な修正が見つかるまで、以下の方法に従ってください。



さぁ、始めよう!

方法1:管理者権限でコマンドを実行する

netshコマンドを実行しようとしたときにこのエラーが発生した場合は、管理者権限がないためにエラーが発生している可能性があります。これは、ユーザーがネイティブWindowsアプリまたはサードパーティアプリケーションの動的ポート範囲に除外を追加するコマンドを実行しようとすると、頻繁に発生することが報告されています。

この種の操作には管理者権限が必要になることに注意してください。アクションを実行しようとしているCMDウィンドウに管理者権限があることを確認するには、次の手順に従います。

  1. 押す Windowsキー+ R [実行]ダイアログボックスを開きます。次に、「 cmd 」を押して Ctrl + Shift + Enter 昇格したコマンドプロンプトを開きます。

    管理者特権のコマンドプロンプトウィンドウを開く

  2. によって促されたとき UAC(ユーザーアカウント制御) 、クリック はい 管理者権限を付与します。
  3. 管理者特権でのコマンドプロンプトで、コマンドを再度実行し、同じエラーメッセージが引き続き表示されるかどうかを確認します。

それでも「 別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。」 エラーまたはこのシナリオが適用されなかった場合は、以下の次の方法に進んでください。

方法2:別のIP範囲を設定する

netshを使用してDNS競合の競合を解決しようとしていて、上記の方法で問題が解決しない場合は、別の方法を試してみることをお勧めします。

同じエラーメッセージの解決に苦労している何人かのユーザーは、除外範囲を作成する代わりに完全に異なるIP範囲を設定しようとした後、競合が解決されることを発見しました。

以下に、DNSとQuickbooks間の競合を解決するために、影響を受けた1人のユーザーが正常に実行したコマンドをいくつか示します。

netsh int ipv4 set dynamicport tcp start = 10000 num = 1000 netsh int ipv4 set dynamicport udp start = 10000 num = 1000

注意: コマンドを実行している端末に管理者権限があることを確認してください。

この方法で競合が解決されなかった場合、または発生している状況に適用できなかった場合は、最後の方法に進んでください。

方法3:IISポートの競合を解決する

IIS MMCスナップイン内のWebサイトアイテムを右クリックしようとしたときに問題が発生した場合([スタート]をクリックしても何も起こりません)、Netstat.exeユーティリティを使用して別のプロセスがポート80とポート443を使用します。

この問題は、Microsoft IIS6.0および7.0を実行しているコンピューターで非常に一般的です。 Microsoftの公式ドキュメントに基づいて、次の条件のいずれかが現在の状況に当てはまる場合、エラーメッセージが表示されます。

  • ザ・ ListenOnlyList レジストリサブキーが、IISを実行しているコンピューターで正しく構成されていません。
  • 別のプロセスは、IISに必要なTCPポート(80)またはSSLポート(443)を使用しています。

この問題を解決するには、をデプロイする必要があります Netstat.exe 別のプロセスが上記で指定されたポートを使用しているかどうかを判別するためのユーティリティ。ユーティリティがポートが使用されていないと判断した場合、ListenOnlyListサブキーを調べて、正しく構成されているかどうかを確認します。

全体のステップバイステップガイドは次のとおりです。

  1. 押す Windowsキー+ R [実行]ダイアログボックスを開きます。次に、「 cmd 」を押して Ctrl + Shift + Enter 昇格したコマンドプロンプトを開きます。によって促されたとき UAC(ユーザーアカウント制御) 、クリック はい 管理者権限を付与します。

    管理者特権のコマンドプロンプトウィンドウを開く

  2. 管理者特権のコマンドプロンプト内で、次のコマンドを実行して、 Netstat.exe ユーティリティ:
    netstat -ano
  3. 返品を受け取ったら、のリストをスクロールします アクティブな接続 ポート50と443が別のプロセスでアクティブに使用されているかどうかを確認します。

    ポートが別のプロセスで使用されているかどうかを確認する

    注意: ポートが別のプロセスでアクティブに使用されている場合は、問題の原因を特定できただけです。この場合、ポートのPIDに従ってポートの競合を解決する方法に関する特定の手順をオンラインで探してください。

  4. 次の手順では管理者権限は必要ないため、管理者特権のコマンドプロンプトを閉じます。
  5. ポートがアクティブに使用されていない場合は、を押します Windowsキー+ R [実行]ダイアログボックスを開きます。次に、「 regedit ‘を押して 入る 開くには レジストリエディタ 。によって促されたとき UAC(ユーザーアカウント制御) 、クリック はい 管理者権限を付与します。

    レジストリエディタユーティリティを開く

  6. レジストリエディタ内で、左側のペインを使用して次の場所に移動します。
    HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Services  HTTP  Parameters  ListenOnlyList 

    注意: の場合 ListenOnlyList サブキーが存在しないため、のIPアドレスとしてサブキーを作成する必要はありません。 0.0.0.0 デフォルトで使用されます。

  7. 先に進んで変更する前に ListenOnlyList サブキーの場合、IISを実行しているHTTPサービスを停止する必要があります。すぐに戻るので、レジストリエディタをバックグラウンドに置きます。
  8. 次に、を押します Windowsキー+ R [実行]ダイアログボックスを開くには、「 cmd ‘を押して 入る 別のコマンドプロンプトウィンドウを開きます。

    ダイアログの実行:cmd

  9. Cmdプロンプトで、次のコマンドを実行してを押します 入る IISの実行を担当するHTTPサービスを停止するには:
    ネットストップhttp
  10. この操作を続行するかどうかを尋ねられたら、「Y」と入力し、Enterキーを押して操作を確認します。

    HTTPサービスの無効化

  11. HTTPサービスが無効になったら、[コマンドプロンプト]ウィンドウを閉じて、レジストリエディタに戻ります。
  12. とともに ListenOnlyList サブキーを選択したら、右側のペインに移動して、有効なIPアドレスが含まれていることを確認します。無効なIPアドレスを見つけた場合は、それを削除するか、有効なIPアドレスを持つエントリを反映するように変更してください。

    無効なIPを持つバイナリ値を削除する

    注意: の場合 ListenOnlyList サブキーが存在し、 0.0.0.0 アドレスが表示されている場合は、他のすべてのIPアドレスを削除する必要があります。

  13. レジストリエディタを閉じて、コンピュータを再起動します。
  14. 次回の起動時に、HTTPサービスが自動的に開始されます。ただし、念のため、を押してください Windowsキー+ R 別の[実行]ダイアログボックスを開きます。次に、「 cmd 」を押して 入る コマンドプロンプトウィンドウを開きます。

    通常のコマンドプロンプトウィンドウを開く

  15. 新しく開いたコマンドプロンプトで、次のコマンドを入力して、HTTPサービスが開始されていることを確認します。
     ネットスタートhttp 

    注意: 「要求されたサービスはすでに開始されています」というメッセージが返されたら、問題ありません。

  16. Microsoftインターネットインフォメーションサービス(IIS)Microsoft管理コンソール(MMC)スナップインからサービスを開始してみます。あなたはもう遭遇するべきではありません 「プロセスは別のプロセスによって使用されているため、ファイルにアクセスできません」 エラー。
読んだ5分