Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาดของ Windows

แก้ไข:กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากมีการใช้งานโดยกระบวนการอื่น

ผู้ใช้ 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 (บริการข้อมูลทางอินเทอร์เน็ต) ที่จะทำให้เกิดข้อผิดพลาดนี้คือคีย์ย่อยของรีจิสทรี ListenOnlyList ที่กำหนดค่าไม่ถูกต้อง

หากคุณกำลังดิ้นรนเพื่อแก้ไขข้อความแสดงข้อผิดพลาดนี้ บทความนี้จะให้ชุดขั้นตอนการแก้ไขปัญหาที่ผ่านการตรวจสอบแล้ว ด้านล่างนี้ คุณมีชุดวิธีที่ผู้ใช้รายอื่นในสถานการณ์ที่คล้ายกันเคยใช้เพื่อแก้ไขปัญหา

เพื่อผลลัพธ์ที่ดีที่สุด ให้ทำตามวิธีการด้านล่างตามลำดับจนกว่าคุณจะพบกับวิธีแก้ไขที่มีประสิทธิภาพในการแก้ไขข้อผิดพลาดในสถานการณ์เฉพาะของคุณ

เริ่มกันเลย!

วิธีที่ 1:การรันคำสั่งด้วยสิทธิ์ของผู้ดูแลระบบ

หากคุณได้รับข้อผิดพลาดนี้เมื่อพยายามเรียกใช้คำสั่ง netsh อาจเป็นไปได้ว่าข้อผิดพลาดเกิดขึ้นเนื่องจากคุณไม่มีสิทธิ์ของผู้ดูแลระบบ มีรายงานว่าเหตุการณ์นี้เกิดขึ้นบ่อยกว่าเมื่อผู้ใช้พยายามเรียกใช้คำสั่งที่เพิ่มการยกเว้นในช่วงพอร์ตไดนามิกสำหรับแอป Windows ดั้งเดิมหรือแอปพลิเคชันของบุคคลที่สาม

โปรดทราบว่าการดำเนินการประเภทนี้จะต้องมีสิทธิ์ของผู้ดูแลระบบ เพื่อให้แน่ใจว่าหน้าต่าง CMD ที่คุณพยายามดำเนินการมีสิทธิ์ของผู้ดูแลระบบ ให้ทำตามขั้นตอนด้านล่าง:

  1. กด แป้น Windows + R เพื่อเปิดกล่องโต้ตอบเรียกใช้ จากนั้นพิมพ์ “cmd ” แล้วกด Ctrl + Shift + Enter เพื่อเปิดพรอมต์คำสั่งที่ยกระดับ แก้ไข:กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากมีการใช้งานโดยกระบวนการอื่น
  2. เมื่อได้รับแจ้งจาก UAC (การควบคุมบัญชีผู้ใช้) คลิก ใช่ เพื่อให้สิทธิ์ผู้ดูแลระบบ
  3. ใน Command Prompt ที่ยกระดับขึ้น ให้เรียกใช้คำสั่งอีกครั้งและดูว่าคุณยังพบข้อความแสดงข้อผิดพลาดเดิมหรือไม่

หากคุณยังคงได้รับ  “กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากกำลังถูกใช้โดยกระบวนการอื่น” ข้อผิดพลาดหรือสถานการณ์นี้ใช้ไม่ได้ เลื่อนลงไปที่วิธีถัดไปด้านล่าง

วิธีที่ 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. ปิด Command Prompt ที่ยกระดับขึ้น เนื่องจากเราไม่ต้องการสิทธิ์ของผู้ดูแลระบบในขั้นตอนต่อไป
  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 ดังนั้นให้วาง Registry Editor ไว้เบื้องหลังในขณะที่เราจะกลับไปแก้ไขในไม่ช้า
  8. ถัดไป กด แป้น Windows + R เพื่อเปิดกล่องโต้ตอบเรียกใช้ พิมพ์ 'cmd ' และกด Enter เพื่อเปิดหน้าต่างพรอมต์คำสั่งอื่น แก้ไข:กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากมีการใช้งานโดยกระบวนการอื่น
  9. ในพรอมต์ Cmd ให้เรียกใช้คำสั่งต่อไปนี้แล้วกด Enter เพื่อหยุดบริการ HTTP ที่รับผิดชอบในการเรียกใช้ IIS:
    net stop http
  10. เมื่อถูกถามว่าคุณต้องการดำเนินการนี้ต่อหรือไม่ ให้พิมพ์ 'Y' แล้วกด Enter เพื่อยืนยันการดำเนินการ แก้ไข:กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากมีการใช้งานโดยกระบวนการอื่น
  11. เมื่อปิดใช้งานบริการ HTTP แล้ว ให้ปิดหน้าต่างพร้อมรับคำสั่งและกลับไปที่ Registry Editor
  12. ด้วย ListenOnlyList เลือกคีย์ย่อยแล้ว เลื่อนไปที่บานหน้าต่างด้านขวาและตรวจสอบว่ามีที่อยู่ IP ที่ถูกต้อง หากคุณพบที่อยู่ IP ที่ไม่ถูกต้อง ให้ลบออกหรือแก้ไขเพื่อให้สอดคล้องกับรายการที่มีที่อยู่ IP ที่ถูกต้อง แก้ไข:กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากมีการใช้งานโดยกระบวนการอื่น

    หมายเหตุ: ในกรณีที่ ListenOnlyList มีคีย์ย่อยและ 0.0.0.0 ที่อยู่ในรายการ คุณต้องลบที่อยู่ IP อื่นๆ ทั้งหมด

  13. ปิด Registry Editor และรีสตาร์ทคอมพิวเตอร์ของคุณ
  14. ในการเริ่มต้นครั้งถัดไป บริการ HTTP ควรเริ่มทำงานโดยอัตโนมัติ แต่เพื่อให้แน่ใจ ให้กด แป้น Windows + R เพื่อเปิดกล่องโต้ตอบเรียกใช้อื่น จากนั้นพิมพ์ “cmd ” และกด Enter เพื่อเปิดหน้าต่างพรอมต์คำสั่ง แก้ไข:กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากมีการใช้งานโดยกระบวนการอื่น
  15. ใน Command Prompt ที่เพิ่งเปิดใหม่ ให้พิมพ์คำสั่งต่อไปนี้เพื่อให้แน่ใจว่าบริการ HTTP เริ่มทำงาน:
    net start http

    หมายเหตุ: หากคุณได้รับข้อความว่า “บริการที่ร้องขอได้เริ่มขึ้นแล้ว” คุณก็พร้อมแล้ว

  16. พยายามเริ่มบริการจากสแน็ปอิน Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC) คุณไม่ควรพบกับ 'กระบวนการไม่สามารถเข้าถึงไฟล์ได้อีกต่อไปเพราะกำลังถูกใช้โดยกระบวนการอื่น' ผิดพลาด.