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

Αρκετοί χρήστες των Windows αντιμετωπίζουν το σφάλμα " Η διαδικασία δεν μπορεί να έχει πρόσβαση στο αρχείο επειδή χρησιμοποιείται από άλλη διαδικασία" . Τις περισσότερες φορές, το ζήτημα προκύπτει όταν ο χρήστης προσπαθεί να εκτελέσει μια εντολή netsh. Μερικοί χρήστες αναφέρουν ότι για αυτούς, το μήνυμα λάθους εμφανίζεται όταν προσπαθούν να κάνουν δεξιό κλικ σε έναν ιστότοπο στο συμπληρωματικό πρόγραμμα MMC (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 δεν έχει ρυθμιστεί σωστά - Ένα άλλο σύνηθες σενάριο με τις υπηρεσίες πληροφοριών Internet Information Services (IIS) που θα ενεργοποιήσει αυτό το συγκεκριμένο σφάλμα είναι ένα εσφαλμένο παράθυρο κλειδιού μητρώου ListenOnlyList.

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

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

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

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

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

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

  1. Πατήστε το πλήκτρο Windows + R για να ανοίξετε ένα παράθυρο διαλόγου Εκτέλεση. Στη συνέχεια, πληκτρολογήστε " cmd " και πατήστε Ctrl + Shift + Enter για να ανοίξετε μια αυξημένη γραμμή εντολών.

    Άνοιγμα ενός αυξημένου παραθύρου γραμμής εντολών
  2. Όταν σας ζητηθεί από το UAC (User Account Control), κάντε κλικ στο κουμπί Ναι για να χορηγήσετε δικαιώματα διαχειριστή.
  3. Στην ανυψωμένη γραμμή εντολών, εκτελέστε ξανά την εντολή και δείτε εάν εξακολουθείτε να αντιμετωπίζετε το ίδιο μήνυμα σφάλματος.

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

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

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

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

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

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

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

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

Μέθοδος 3: Επίλυση της σύγκρουσης θύρας IIS

Εάν αντιμετωπίζετε το ζήτημα κατά την προσπάθεια να κάνετε δεξιό κλικ σε ένα στοιχείο ιστότοπου μέσα στο συμπληρωματικό πρόγραμμα MMC του IIS (κάνοντας κλικ στο κουμπί Έναρξη δεν κάνει τίποτα), θα πρέπει να χρησιμοποιήσετε το βοηθητικό πρόγραμμα 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 (User Account Control), κάντε κλικ στο κουμπί Ναι για να παραχωρήσετε δικαιώματα διαχειριστή.

    Άνοιγμα ενός αυξημένου παραθύρου γραμμής εντολών
  2. Μέσα στην ανυψωμένη γραμμή εντολών, εκτελέστε την ακόλουθη εντολή για να ξεκινήσετε το βοηθητικό πρόγραμμα Netstat.exe :
     netstat -ano 
  3. Μόλις λάβετε μια επιστροφή, μεταβείτε στη λίστα ενεργών συνδέσεων και ελέγξτε αν οι θύρες 50 και 443 χρησιμοποιούνται ενεργά από διαφορετική διαδικασία.

    Επαλήθευση εάν οι θύρες χρησιμοποιούνται από διαφορετική διαδικασία

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

  4. Κλείστε την ανυψωμένη Γραμμή εντολών επειδή δεν θα χρειαστούμε δικαιώματα διαχειριστή για τα επόμενα βήματα.
  5. Εάν οι θύρες δεν χρησιμοποιούνται ενεργά, πατήστε το πλήκτρο Windows + R για να ανοίξετε ένα παράθυρο διαλόγου Εκτέλεση. Στη συνέχεια, πληκτρολογήστε ' regedit ' και πατήστε Enter για να ανοίξετε τον Επεξεργαστή Μητρώου . Όταν σας ζητηθεί από το UAC (έλεγχος λογαριασμού χρήστη), κάντε κλικ στο κουμπί Ναι για να παραχωρήσετε δικαιώματα διαχειριστή.

    Άνοιγμα του βοηθητικού προγράμματος επεξεργασίας μητρώου
  6. Μέσα στον επεξεργαστή μητρώου, χρησιμοποιήστε το αριστερό παράθυρο για να μεταβείτε στην ακόλουθη θέση:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Υπηρεσίες \ HTTP \ Παράμετροι \ ListenOnlyList 

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

  7. Προτού προχωρήσετε και τροποποιήσετε το δευτερεύον κλειδί ListenOnlyList, θα πρέπει να διακόψετε την υπηρεσία HTTP που εκτελεί την υπηρεσία IIS. Θέστε λοιπόν τον επεξεργαστή μητρώου στο παρασκήνιο καθώς θα επιστρέψουμε σε αυτό σε μια στιγμή.
  8. Στη συνέχεια, πατήστε το πλήκτρο Windows + R για να ανοίξετε ένα παράθυρο διαλόγου Εκτέλεση, πληκτρολογήστε ' cmd ' και πατήστε Enter για να ανοίξετε ένα άλλο παράθυρο γραμμής εντολών.

    Διάλογος εκτέλεσης: cmd
  9. Στην προτροπή Cmd, εκτελέστε την ακόλουθη εντολή και πατήστε Enter για να διακόψετε την υπηρεσία HTTP που είναι υπεύθυνη για την εκτέλεση της υπηρεσίας IIS:
     net stop 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 " και πατήστε Enter για να ανοίξετε ένα παράθυρο Command Prompt.

    Άνοιγμα ενός κανονικού παραθύρου γραμμής εντολών
  15. Στη νέα γραμμή εντολών που ανοίχθηκε, πληκτρολογήστε την ακόλουθη εντολή για να βεβαιωθείτε ότι ξεκίνησε η υπηρεσία HTTP:
     net start http 

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

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

Ενδιαφέροντα Άρθρα