Επιδιόρθωση: Η διαδικασία δεν είναι δυνατή η πρόσβαση στο αρχείο επειδή χρησιμοποιείται από άλλη διαδικασία

Πολλοί χρήστες των Windows αντιμετωπίζουν το σφάλμα " Η διαδικασία δεν έχει πρόσβαση στο αρχείο επειδή χρησιμοποιείται από άλλη διαδικασία" . Τις περισσότερες φορές, το ζήτημα παρουσιάζεται όταν ο χρήστης προσπαθεί να εκτελέσει μια εντολή netsh. Ορισμένοι χρήστες αναφέρουν ότι για αυτούς, το μήνυμα σφάλματος εμφανίζεται όταν προσπαθούν να κάνουν δεξί κλικ σε έναν ιστότοπο στο συμπληρωματικό πρόγραμμα IIS (Internet Information Services) MMC (Microsoft Management Console).

Το ζήτημα αναφέρεται ότι παρουσιάζεται σε Windows Vista, Windows 7, Windows 8.1, Windows 10 και σε διάφορες εκδόσεις του Windows Server.

Τι προκαλεί τη χρήση της διαδικασίας από άλλη διαδικασία;

Διερευνήσαμε αυτό το συγκεκριμένο ζήτημα εξετάζοντας διάφορες αναφορές χρηστών και τις στρατηγικές επισκευής που χρησιμοποίησαν για να επιλύσουν το πρόβλημα. Με βάση αυτό που καταφέραμε να συγκεντρώσουμε, υπάρχουν αρκετά κοινά σενάρια που θα ενεργοποιήσουν αυτό το συγκεκριμένο μήνυμα σφάλματος:

  • Η εντολή απαιτεί δικαιώματα διαχειριστή - Εάν αντιμετωπίζετε το σφάλμα μέσα σε ένα τερματικό, είναι πολύ πιθανό επειδή δεν έχετε δικαιώματα διαχειριστή για να κάνετε τις τροποποιήσεις. Πολλοί χρήστες σε παρόμοια κατάσταση κατάφεραν να επιλύσουν το ζήτημα παραχωρώντας δικαιώματα διαχειριστή.
  • Μια άλλη διαδικασία είναι η χρήση της θύρας 80 ή της θύρας 443 - Αυτό είναι τυπικό με υπολογιστές που εκτελούν IIS (Internet Information Services). Εάν μια άλλη διαδικασία χρησιμοποιεί αυτές τις δύο θύρες, θα δείτε αυτό το μήνυμα σφάλματος.
  • Το δευτερεύον κλειδί μητρώου ListenOnlyList δεν έχει ρυθμιστεί σωστά - Ένα άλλο κοινό σενάριο με τις υπηρεσίες IIS (Internet Information Services) που θα ενεργοποιήσουν αυτό το συγκεκριμένο σφάλμα είναι ένα δευτερεύον κλειδί μητρώου ListenOnlyList που δεν έχει ρυθμιστεί σωστά.

Εάν αυτήν τη στιγμή προσπαθείτε να επιλύσετε αυτό το συγκεκριμένο μήνυμα σφάλματος, αυτό το άρθρο θα σας παρέχει μια συλλογή επαληθευμένων βημάτων αντιμετώπισης προβλημάτων. Παρακάτω, έχετε μια συλλογή μεθόδων που άλλοι χρήστες σε παρόμοια κατάσταση έχουν χρησιμοποιήσει για να επιλύσουν το πρόβλημα.

Για καλύτερα αποτελέσματα, ακολουθήστε τις παρακάτω μεθόδους, μέχρι να αντιμετωπίσετε μια επιδιόρθωση που είναι αποτελεσματική στην επίλυση του σφάλματος στο συγκεκριμένο σενάριό σας.

Ας ξεκινήσουμε!

Μέθοδος 1: Εκτέλεση της εντολής με δικαιώματα διαχειριστή

Εάν λαμβάνετε αυτό το σφάλμα κατά την προσπάθεια εκτέλεσης μιας εντολής netsh, είναι πιθανό ότι το σφάλμα παρουσιάζεται επειδή δεν έχετε δικαιώματα διαχειριστή. Αυτό αναφέρεται ότι συμβαίνει συχνότερα όταν ο χρήστης προσπαθεί να εκτελέσει μια εντολή που προσθέτει εξαιρέσεις στο εύρος δυναμικής θύρας για εγγενείς εφαρμογές Windows ή εφαρμογές τρίτων.

Λάβετε υπόψη ότι μια τέτοια ενέργεια θα απαιτεί δικαιώματα διαχειριστή. Για να βεβαιωθείτε ότι το παράθυρο CMD στο οποίο προσπαθείτε να εκτελέσετε την ενέργεια έχει δικαιώματα διαχειριστή, ακολουθήστε τα παρακάτω βήματα:

  1. Πατήστε το πλήκτρο Windows + R για να ανοίξετε ένα παράθυρο διαλόγου Εκτέλεση. Στη συνέχεια, πληκτρολογήστε " cmd " και πατήστε Ctrl + Shift + Enter για να ανοίξετε μια αυξημένη γραμμή εντολών.
  2. Όταν σας ζητηθεί από το UAC (Έλεγχος λογαριασμού χρήστη) , κάντε κλικ στο Ναι για να εκχωρήσετε δικαιώματα διαχειριστή.
  3. Στην ανυψωμένη γραμμή εντολών, εκτελέστε ξανά την εντολή και δείτε εάν εξακολουθείτε να αντιμετωπίζετε το ίδιο μήνυμα σφάλματος.

Εάν εξακολουθείτε να λαμβάνετε το σφάλμα " Η διαδικασία δεν έχει πρόσβαση στο αρχείο επειδή χρησιμοποιείται από άλλη διαδικασία" ή αυτό το σενάριο δεν ήταν εφαρμόσιμο, μεταβείτε στην επόμενη μέθοδο παρακάτω.

Μέθοδος 2: Ρύθμιση διαφορετικού εύρους IP

Εάν προσπαθείτε να επιλύσετε μια διένεξη διένεξη DNS χρησιμοποιώντας το netsh και η παραπάνω μέθοδος δεν σας βοήθησε, ίσως θέλετε να δοκιμάσετε μια διαφορετική προσέγγιση.

Αρκετοί χρήστες που αγωνίζονται να επιλύσουν το ίδιο μήνυμα σφάλματος διαπίστωσαν ότι η διένεξη επιλύθηκε αφού προσπάθησαν να ορίσουν ένα εντελώς διαφορετικό εύρος IP αντί να δημιουργήσουν ένα εύρος εξαίρεσης.

Παρακάτω έχετε μερικές εντολές που ένας επηρεαζόμενος χρήστης εκτέλεσε με επιτυχία για να επιλύσει μια διένεξη μεταξύ DNS και Quickbooks:

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

Σημείωση: Βεβαιωθείτε ότι το τερματικό στο οποίο εκτελείτε την εντολή έχει δικαιώματα διαχειριστή.

Εάν αυτή η μέθοδος δεν επιλύσει τη διένεξη ή δεν ήταν εφαρμόσιμη στην κατάσταση που αντιμετωπίζετε, μεταβείτε στην τελική μέθοδο.

Μέθοδος 3: Επίλυση της διένεξης θύρας IIS

Εάν αντιμετωπίζετε το πρόβλημα ενώ προσπαθείτε να κάνετε δεξί κλικ σε ένα στοιχείο ιστότοπου μέσα στο συμπληρωματικό πρόγραμμα IIS MMC (κάνοντας κλικ στο κουμπί Έναρξη δεν κάνει τίποτα), θα πρέπει να χρησιμοποιήσετε το βοηθητικό πρόγραμμα Netstat.exe για να μάθετε εάν υπάρχει άλλη διαδικασία χρησιμοποιώντας τη θύρα 80 και τη θύρα 443.

Αυτό το ζήτημα είναι πολύ κοινό με υπολογιστές που εκτελούν Microsoft IIS 6.0 και 7.0. Με βάση την επίσημη τεκμηρίωση της Microsoft, το μήνυμα σφάλματος θα εμφανιστεί εάν ισχύει μία από τις ακόλουθες συνθήκες στην τρέχουσα κατάστασή σας:

  • Το δευτερεύον κλειδί μητρώου ListenOnlyList δεν έχει ρυθμιστεί σωστά στον υπολογιστή που εκτελεί τις υπηρεσίες IIS.
  • Μια άλλη διαδικασία είναι η χρήση της θύρας TCP (80) ή της θύρας SSL (443) που απαιτείται από τις υπηρεσίες IIS.

Για να επιλύσουμε αυτό το ζήτημα, θα πρέπει να αναπτύξουμε το βοηθητικό πρόγραμμα 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 ' και πατήστε Enter για να ανοίξετε τον Επεξεργαστή Μητρώου . Όταν σας ζητηθεί από το UAC (Έλεγχος λογαριασμού χρήστη) , κάντε κλικ στο Ναι για να εκχωρήσετε δικαιώματα διαχειριστή.
  6. Μέσα στον Επεξεργαστή Μητρώου, χρησιμοποιήστε το αριστερό παράθυρο για να μεταβείτε στην ακόλουθη τοποθεσία:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList

    Σημείωση: Σε περίπτωση που η ListenOnlyList δευτερεύον κλειδί δεν υπάρχει, δεν υπάρχει ανάγκη να δημιουργηθεί ένα ως μια διεύθυνση IP του 0.0.0.0 θα χρησιμοποιηθεί από προεπιλογή.

  7. Προτού προχωρήσετε και τροποποιήσετε το δευτερεύον κλειδί ListenOnlyList , θα πρέπει να διακόψετε την υπηρεσία HTTP που εκτελεί τις υπηρεσίες IIS. Βάλτε λοιπόν τον Επεξεργαστή Μητρώου στο παρασκήνιο καθώς θα επιστρέψουμε σε αυτόν σε λίγο.
  8. Στη συνέχεια, πατήστε το πλήκτρο Windows + R για να ανοίξετε ένα παράθυρο διαλόγου Εκτέλεση, πληκτρολογήστε ' cmd ' και πατήστε Enter για να ανοίξετε άλλο παράθυρο γραμμής εντολών.
  9. Στην προτροπή Cmd, εκτελέστε την ακόλουθη εντολή και πατήστε Enter για να διακόψετε την υπηρεσία HTTP που είναι υπεύθυνη για την εκτέλεση των υπηρεσιών IIS:
    καθαρή στάση http
  10. Όταν ερωτηθείτε εάν θέλετε να συνεχίσετε αυτήν τη λειτουργία, πληκτρολογήστε 'Y' και πατήστε Enter για να επιβεβαιώσετε τη λειτουργία.
  11. Μόλις απενεργοποιηθεί η υπηρεσία HTTP, κλείστε το παράθυρο γραμμής εντολών και επιστρέψτε στον Επεξεργαστή μητρώου.
  12. Με επιλεγμένο το δευτερεύον κλειδί ListenOnlyList , μεταβείτε στο δεξιό τμήμα του παραθύρου και βεβαιωθείτε ότι περιέχει έγκυρες διευθύνσεις IP. Εάν εντοπίσετε μια διεύθυνση IP που δεν είναι έγκυρη, αφαιρέστε την ή τροποποιήστε την ώστε να αντικατοπτρίζει μια καταχώριση με έγκυρη διεύθυνση IP.

    Σημείωση: Σε περίπτωση που το δευτερεύον κλειδί ListenOnlyList υπάρχει και εμφανίζεται η διεύθυνση 0.0.0.0 , θα πρέπει να διαγράψετε όλες τις άλλες διευθύνσεις IP.

  13. Κλείστε τον Επεξεργαστή Μητρώου και επανεκκινήστε τον υπολογιστή σας.
  14. Κατά την επόμενη εκκίνηση, η υπηρεσία HTTP θα πρέπει να ξεκινήσει αυτόματα. Αλλά για να βεβαιωθείτε, πατήστε το πλήκτρο Windows + R για να ανοίξετε ένα άλλο παράθυρο διαλόγου Εκτέλεση. Στη συνέχεια, πληκτρολογήστε " cmd " και πατήστε Enter για να ανοίξετε ένα παράθυρο γραμμής εντολών.
  15. Στη γραμμή εντολών που άνοιξε πρόσφατα, πληκτρολογήστε την ακόλουθη εντολή για να βεβαιωθείτε ότι έχει ξεκινήσει η υπηρεσία HTTP:
    καθαρή εκκίνηση http

    Σημείωση: Εάν σας επιστραφεί ένα μήνυμα που αναφέρει ότι "Η ζητούμενη υπηρεσία έχει ήδη ξεκινήσει" πρέπει να πάτε.

  16. Προσπαθήστε να ξεκινήσετε μια υπηρεσία από το συμπληρωματικό πρόγραμμα Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Δεν θα πρέπει πλέον να αντιμετωπίσετε το σφάλμα "η διαδικασία δεν μπορεί να αποκτήσει πρόσβαση στο αρχείο επειδή χρησιμοποιείται από άλλη διαδικασία" .