Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?

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

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

ข้อความล็อกไฟล์อาจแตกต่างกัน ตัวอย่างเช่น ภาพหน้าจอต่อไปนี้แสดงประเภทไฟล์และแอปที่เชื่อมโยงกับ:

File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.

จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?

จากนั้นคุณจะเข้าใจได้อย่างง่ายดายว่าแอปใดล็อกไฟล์และปิดไฟล์นั้น

อย่างไรก็ตาม บางครั้งคุณอาจเห็นข้อความที่น่าสนใจกว่านั้นว่ามีการใช้ไฟล์โดยกระบวนการระบบที่ไม่รู้จักหรือ Windows อาจเป็นกระบวนการของ Windows หรือกระบวนการอื่นๆ ที่ทำงานกับสิทธิ์ของระบบ เช่น แอปป้องกันไวรัส เอเจนต์สำรอง ฐานข้อมูล MSSQL ฯลฯ:

The action can’t be completed because the file is open in SYSTEM.
Close the file and try again.

จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?

เรามาลองค้นหาว่าโปรแกรม บริการ หรือกระบวนการของระบบ Windows ใดกำลังใช้ไฟล์อยู่ วิธีปลดล็อกไฟล์ และดูว่าไฟล์นั้นอาจถูกเผยแพร่โดยไม่ปิดกระบวนการหลักหรือไม่

หากคุณไม่สามารถลบโฟลเดอร์ในโฟลเดอร์เครือข่ายที่ใช้ร่วมกันได้ ปัญหาน่าจะเกี่ยวข้องกับ thumbs.db ที่มีแคชรูปย่อของไฟล์ในโฟลเดอร์ หรือไฟล์ถูกเปิด (ล็อก) โดยผู้ใช้รายอื่นบนเซิร์ฟเวอร์ไฟล์ SMB ของคุณ

วิธีที่ง่ายที่สุดในการปลดล็อกไฟล์คือการยุติกระบวนการที่ล็อกไว้ แต่ก็ไม่เสมอไป โดยเฉพาะบนเซิร์ฟเวอร์

ในการค้นหากระบวนการที่ล็อกไฟล์ไว้ ขอแนะนำให้ใช้ ตัวปลดล็อก เครื่องมือ. ฉันไม่ได้ใช้ Unlocker เนื่องจากไม่มีข้อมูลโดยละเอียดเกี่ยวกับกระบวนการหรือกระบวนการที่ล็อคไฟล์ คุณไม่สามารถปลดล็อกไฟล์ที่ใช้โดยกระบวนการ — คุณต้องฆ่าแอปอย่างสมบูรณ์

นอกจากนี้ มันเป็นเครื่องมือของบริษัทอื่น และคุณควรใส่ใจมากเมื่อคุณติดตั้ง เพราะมันแนะนำให้ติดตั้งชุดโปรแกรมทั้งหมดที่คุณไม่ต้องการ

เมื่อกระบวนการใน Windows เปิดไฟล์ ตัวอธิบายไฟล์ (หมายเลขอ้างอิง) ถูกกำหนดให้กับสตรีมอินพุต/เอาต์พุต กระบวนการและกระบวนการย่อยเข้าถึงไฟล์โดยใช้ตัวจัดการ เมื่อใช้ Windows API คุณสามารถส่งสัญญาณไปยังระบบไฟล์ของคุณเพื่อให้แฮนเดิลไฟล์ว่างและปลดล็อกไฟล์ได้

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

จะปลดล็อกไฟล์โดยใช้ Process Explorer ได้อย่างไร

ProcessExplorer เป็นเครื่องมือฟรีจากชุดอุปกรณ์ Sysinternals ที่คุณดาวน์โหลดได้จากเว็บไซต์ Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer) มาลองค้นหากระบวนการที่ล็อคไฟล์และทำให้ไฟล์ว่างโดยรีเซ็ตตัวจัดการไฟล์ของกระบวนการ

  1. คุณไม่จำเป็นต้องติดตั้ง ProcessExplorer เพียงดาวน์โหลด แตกไฟล์ และเรียกใช้ procexp.exe ในฐานะผู้ดูแลระบบ
  2. เลือก ค้นหา -> ค้นหา Handle หรือ DLL (หรือกด Ctrl-F ); จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?
  3. ระบุชื่อไฟล์ที่คุณต้องการปลดล็อกแล้วคลิก ค้นหา;
  4. เลือกไฟล์ที่คุณต้องการ กระบวนการที่เปิดไฟล์จะถูกเน้นในแผนผังกระบวนการ คลิกขวาและเลือก ฆ่าแผนผังกระบวนการ เพื่อสิ้นสุดกระบวนการ อย่างไรก็ตาม คุณสามารถลองและปิดตัวจัดการไฟล์ได้โดยไม่สิ้นสุดกระบวนการ ตัวจัดการไฟล์ที่คุณค้นหาจะถูกเน้นโดยอัตโนมัติในแผงด้านล่างของ Process Explorer คลิกขวาที่แฮนเดิลและเลือก ปิดแฮนเดิล . ยืนยันการปิดไฟล์; จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?
หากแผงด้านล่างที่มีรายการของตัวจัดการกระบวนการที่เปิดอยู่ไม่แสดงใน Process Explorer ของคุณ ให้เปิดใช้งานตัวเลือก View -> Lower Pane View -> Handles

ดังนั้นคุณได้ปิดตัวจัดการไฟล์โดยไม่สิ้นสุดกระบวนการหลัก จากนั้นคุณสามารถลบหรือเปลี่ยนชื่อไฟล์ได้

จะปล่อยตัวจัดการไฟล์โดยใช้เครื่องมือจัดการได้อย่างไร

ด้ามจับ เป็นเครื่องมือบรรทัดคำสั่งอื่นจาก Sysinternals (คุณสามารถดาวน์โหลดได้บนเว็บไซต์ของ Microsoft:https://docs.microsoft.com/en-us/sysinternals/downloads/handle) ช่วยให้คุณค้นหากระบวนการที่ล็อคไฟล์ของคุณและปลดล็อคโดยปล่อยที่จับ

  1. ดาวน์โหลดและแตกไฟล์แฮนเดิลอาร์ไคฟ์
  2. เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบ และเรียกใช้คำสั่งต่อไปนี้:handle64.exe > listproc.txt จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?
  3. คำสั่งนี้จะบันทึกรายการของแฮนเดิลที่เปิดอยู่ในไฟล์ txt คุณสามารถแสดงแฮนเดิลสำหรับไดเร็กทอรีที่มีไฟล์ที่คุณต้องการเปลี่ยนอยู่ใน:Handle64.exe -a “C:\Program Files\App” หรือสำหรับกระบวนการเฉพาะ:handle64.exe -p excel.exe
  4. เปิด listproc.txt ในโปรแกรมแก้ไขข้อความและค้นหาบรรทัดที่มีชื่อไฟล์ที่ถูกล็อก คัดลอกไฟล์แฮนเดิล ID (ในรูปแบบเลขฐานสิบหก) จากนั้นไปที่ส่วนที่แสดงกระบวนการที่เป็นเจ้าของหมายเลขอ้างอิงและจด ID เป็นไปได้มากที่สุดที่กระบวนการทำงานโดยระบบจะมี PID 4 จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร? สำหรับกระบวนการบางอย่างของระบบ Windows handle.exe จะส่งคืนข้อความต่อไปนี้:wininit.exe pid: 732 \<unable to open process> . หมายความว่าคุณไม่สามารถรับข้อมูลใดๆ เกี่ยวกับกระบวนการของระบบเหล่านี้ (แม้ในฐานะผู้ดูแลระบบ) หากต้องการให้จัดการไฟล์เปิดโดยกระบวนการดังกล่าว ให้เรียกใช้ cmd.exe เป็น System แล้วลองรับรายการจัดการอีกครั้ง
  5. จากนั้นกลับไปที่พรอมต์คำสั่งและรีเซ็ตตัวจัดการไฟล์โดยใช้ HandleID และ ProcessID คำสั่งมีรูปแบบดังต่อไปนี้:handl64e.exe -c HandleID -p ProcessID ตัวอย่างเช่น:handl64e.exe -c 18C -p 18800 จะปลดล็อคไฟล์ที่ถูกล็อคโดยกระบวนการหรือระบบใด ๆ ได้อย่างไร?
  6. เครื่องมือจะแจ้งให้คุณยืนยันการปิดไฟล์สำหรับกระบวนการ ยืนยันโดยกด y -> enter .

หากระบบตอบสนองต่อการปิดไฟล์อย่างถูกต้อง คุณจะปลดล็อกไฟล์โดยไม่ยุติกระบวนการหรือรีสตาร์ทเซิร์ฟเวอร์/คอมพิวเตอร์