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



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

ผู้ใช้ 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 ตั้งค่า dynamicport tcp start = 10,000 num = 1000 netsh int ipv4 set dynamicport udp start = 10,000 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 ‘แล้วกด ป้อน เพื่อเปิดไฟล์ Registry Editor . เมื่อได้รับแจ้งจากไฟล์ UAC (การควบคุมบัญชีผู้ใช้) คลิก ใช่ เพื่อให้สิทธิ์ระดับผู้ดูแลระบบ

    เปิดยูทิลิตี้ Registry Editor

  6. ภายใน Registry Editor ใช้บานหน้าต่างด้านซ้ายเพื่อไปยังตำแหน่งต่อไปนี้:
    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 ‘แล้วกด ป้อน เพื่อเปิดหน้าต่างพรอมต์คำสั่งอื่น

    เรียกใช้กล่องโต้ตอบ: cmd

  9. ในพรอมต์ Cmd ให้รันคำสั่งต่อไปนี้แล้วกด ป้อน เพื่อหยุดบริการ HTTP ที่รับผิดชอบในการเรียกใช้ IIS:
    หยุดสุทธิ http
  10. เมื่อระบบถามว่าคุณต้องการดำเนินการต่อหรือไม่ให้พิมพ์ 'Y' แล้วกด Enter เพื่อยืนยันการดำเนินการ

    ปิดใช้งานบริการ HTTP

  11. เมื่อปิดใช้งานบริการ HTTP แล้วให้ปิดหน้าต่างพรอมต์คำสั่งและกลับไปที่ Registry Editor
  12. กับ ListenOnlyList เลือกคีย์ย่อยแล้วย้ายไปที่บานหน้าต่างด้านขวามือและตรวจสอบให้แน่ใจว่ามีที่อยู่ IP ที่ถูกต้อง หากคุณพบที่อยู่ IP ที่ไม่ถูกต้องให้ลบออกหรือแก้ไขเพื่อแสดงรายการที่มีที่อยู่ IP ที่ถูกต้อง

    การลบค่าไบนารีด้วย IP ที่ไม่ถูกต้อง

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

  13. ปิด Registry Editor แล้วรีสตาร์ทคอมพิวเตอร์
  14. ในการเริ่มต้นครั้งถัดไปบริการ HTTP ควรเริ่มต้นโดยอัตโนมัติ แต่เพื่อให้แน่ใจว่ากด คีย์ Windows + R เพื่อเปิดกล่องโต้ตอบ Run อื่น จากนั้นพิมพ์“ cmd ” แล้วกด ป้อน เพื่อเปิดหน้าต่างพร้อมรับคำสั่ง

    เปิดหน้าต่างพรอมต์คำสั่งปกติ

  15. ในพรอมต์คำสั่งที่เพิ่งเปิดใหม่ให้พิมพ์คำสั่งต่อไปนี้เพื่อให้แน่ใจว่าบริการ HTTP เริ่มทำงาน:
     เริ่มต้นสุทธิ http 

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

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