תיקון: התהליך אינו יכול לגשת לקובץ מכיוון שהוא משמש תהליך אחר

כמה ממשתמשי Windows נתקלים בשגיאת " התהליך אינו יכול לגשת לקובץ מכיוון שהוא נמצא בשימוש על ידי תהליך אחר" . לרוב, הבעיה מתרחשת כאשר המשתמש מנסה להריץ פקודה netsh. חלק מהמשתמשים מדווחים כי מבחינתם הודעת השגיאה מופיעה כאשר הם מנסים ללחוץ לחיצה ימנית על אתר בתוסף ה- MMC של IIS (Internet Information Services) (Microsoft Management Console).

הדיווח הוא כי הבעיה מתרחשת ב- Windows Vista, Windows 7, Windows 8.1, Windows 10 ובגירסאות Windows Server שונות.

מה גורם לתהליך להשתמש בתהליך אחר?

חקרנו בעיה מסוימת זו על ידי בחינת דוחות משתמשים שונים ואסטרטגיות התיקון בהן השתמשו כדי לפתור את הבעיה. בהתבסס על מה שהצלחנו לאסוף, ישנם מספר תרחישים נפוצים שיגרמו להודעת השגיאה המסוימת הזו:

  • הפקודה דורשת הרשאות מנהל - אם אתה נתקל בשגיאה בתוך מסוף, סביר להניח כי אין לך הרשאות ניהול לבצע את השינויים. כמה משתמשים במצב דומה הצליחו לפתור את הבעיה על ידי מתן הרשאות מנהל.
  • תהליך אחר הוא שימוש ביציאה 80 או ביציאה 443 - זה אופייני למחשבים שבהם פועל IIS (Internet Information Services). אם תהליך אחר משתמש בשתי היציאות הללו, תראה הודעת שגיאה זו.
  • מפתח המשנה של הרישום ListenOnlyList אינו מוגדר כהלכה - תרחיש נפוץ נוסף עם IIS (שירותי מידע באינטרנט) שיפעיל את השגיאה הספציפית הזו הוא מפתח המשנה של הרישום 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

אם אתה נתקל בבעיה בעת ניסיון ללחוץ לחיצה ימנית על פריט אתר בתוך יישום ה- snap-in של 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). אתה כבר לא צריך להיתקל בשגיאה 'התהליך אינו יכול לגשת לקובץ מכיוון שהוא נמצא בשימוש על ידי תהליך אחר' .