簡體   English   中英

文件系統已滿時進程會發生什么

[英]What happens to a process when the filesystem is full

如果文件系統已滿,進程將如何處理? 內核是否向我們發送了要關閉的信號,如果是,它是什么信號。 顯然,如果程序寫入文件系統,則可能會崩潰,但是我很好奇它的發生方式(在骯臟的內核/操作系統詳細信息中)。

如果文件系統填滿了,進程將如何處理?

整個分區上需要額外磁盤空間的操作(例如創建或附加到文件)會因ENOSPC errno而失敗。

沒有信號發送,因為完整的文件系統不是使信號成為必需的關鍵條件。 這是一個常規的,易於處理的錯誤。

文件系統已滿時,沒有理由程序會崩潰。 顯然,文件寫入將失敗,但是編寫良好的程序應該能夠解決這個問題-在C語言中,這意味着fopen返回NULLferror返回非零值,等等。我已經遇到過很多次了,有些可能會發生令人討厭的事情,例如用空白版本覆蓋文件,但絕不會導致程序崩潰。 如果確實發生了,那大概是因為程序的作者試圖使用NULL文件描述符或某些類似的問題,在這種情況下,程序將照常接收SIGSEGV

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM