เกิดอะไรขึ้นกับไฟล์ที่ถูกลบในขณะที่มีการจัดการไฟล์เปิดอยู่
ฉันสงสัยมาตั้งแต่เริ่มคิดแล้วว่าฉันสามารถลบไฟล์วิดีโอในขณะที่เล่นในMPlayerและมันจะยังคงเล่นต่อไปจนจบ มันดึงข้อมูลจากที่ไหน มันยังมาจากฮาร์ดไดรฟ์หรือไม่? มันถูกคัดลอกไปยัง RAM เมื่อฉันลบไฟล์หรือไม่
หากยังอยู่ในฮาร์ดไดรฟ์จะเกิดอะไรขึ้นถ้าฉันเติมระบบไฟล์ในขณะที่โปรแกรมกำลังอ่านจากพื้นที่ที่ไม่ได้ถูกจัดสรรเป็นหลัก? หากบัฟเฟอร์ใน RAM เกิดอะไรขึ้นถ้าฉันล้างบัฟเฟอร์
จะเกิดอะไรขึ้นถ้าไฟล์นั้นอยู่ใน NFS share – มันถูกเก็บไว้บนเซิร์ฟเวอร์? (นั่นเป็นความเสี่ยงด้านความปลอดภัยหรือไม่ - DoS ด้วยไฟล์รีโมตแบบเปิดจำนวนมากจัดการใช่หรือไม่)
การทำlsof -n |grep '(deleted)'
บางครั้งให้ผลลัพธ์ที่น่าสนใจ ถ้าฉันอัปเกรดแพ็คเกจที่แลกเปลี่ยนไฟล์ไลบรารีที่แชร์แล้วการรันโปรแกรมที่ใช้ไลบรารีเหล่านั้นจะยังคงสามารถใช้งานได้ราวกับไม่มีอะไรเปลี่ยนแปลง
คำถามโบนัส: มีวิธีที่จะรับข้อมูลกลับมาจากความตายในสถานการณ์นี้หรือไม่?