14

プロセスが SIGKILL で強制終了された場合、プロセスがメモリ マップ ファイルに加えた変更はディスクにフラッシュされますか? プロセスがSIGKILLを介して強制終了されたときにOSがメモリマップファイルをディスクにフラッシュすることを保証する場合、他の終了シグナル(SIGABRT、SIGSEGVなど)でもそうすると思います。

4

2 に答える 2

17

これは、メモリ マップト ファイルが非公開 (MAP_PRIVATE) に変更されているか、非公開 (MAP_SHARED) で開かれているかによって異なります。プライベートの場合はいいえ。変更はディスクに書き戻されません。共有されている場合、カーネル バッファー プールには変更されたバッファーが含まれ、これらは、死因に関係なく、いずれディスクに書き込まれます。

于 2009-05-14T14:37:51.597 に答える
0

私は自分で同様の質問をし、回答に満足できない場合はデモ コードをフォローアップしました。mmap、msync、および Linux プロセスの終了を参照してください

于 2011-06-02T19:28:37.927 に答える