ファイルシステムがいっぱいになった場合、プロセスはどうなりますか? カーネルはシャットダウンするためのシグナルを送信しますか?送信する場合、それはどのようなシグナルですか? 明らかに、プログラムがファイル システムに書き込むとクラッシュする可能性がありますが、これがどのように発生するのか (カーネル/オペレーティング システムの詳細) に興味があります。
2 に答える
3
ファイルシステムがいっぱいになった場合、プロセスはどうなりますか?
パーティション全体に追加のディスク領域を必要とする操作 (ファイルの作成や追加など) は、.of で失敗しerrno
ますENOSPC
。
完全なファイルシステムはシグナルを必要とする重大な状態ではないため、シグナルは送信されません。これは日常的な、簡単に処理できるエラーです。
于 2013-03-21T22:33:01.807 に答える
1
ファイルシステムがいっぱいになったときにプログラムがクラッシュする理由はありません。明らかにファイルの書き込みは失敗しますが、適切に作成されたプログラムはそれに対処できるはずです.Cでは、これは戻り値またはゼロ以外の値をfopen
返すことなどを意味します.私はこれに何度も遭遇しました.空のバージョンでファイルを上書きするなどのことが起こりますが、プログラムがクラッシュすることはありません。これが発生した場合、おそらく、プログラムの作成者がファイル記述子または同様の問題を使用しようとしたことが原因であり、その場合、プログラムは通常どおり を受け取ります。NULL
ferror
NULL
SIGSEGV
于 2013-03-21T22:31:54.413 に答える