プロセスがSIGKILLで強制終了された場合、メモリマップファイルに対する変更はディスクにフラッシュされますか?私は、OSがSIGKILLを介してプロセスが強制終了されたときに、メモリマップされたファイルがディスクにフラッシュされることを保証していれば、他の終了シグナル(SIGABRT、SIGSEGVなど)でもそうするでしょう。プロセスがSIGKILLされている場合、OS(POSIX)はメモリマップファイルをフラッシュしますか?
13
A
答えて
16
メモリマップされたファイルが、変更されたプライベート(MAP_PRIVATE)で開くかどうか(MAP_SHARED)によって異なります。プライベートの場合は、いいえ。変更はディスクに書き戻されません。共有されている場合、カーネルバッファプールには変更されたバッファが含まれており、死亡原因にかかわらず、これらはディスクに書き出されます。
0
私は同様の質問を自分自身に提出し、私が答えに満足しなかったときに実証コードをフォローアップしました。 mmap, msync and linux process termination
関連する問題
- 1. SIGKILLが動作しない場合
- 2. プロセスがクラッシュしたときにOSがCPUキャッシュをフラッシュしますか?
- 3. sifrフラッシュは、それらがPCにインストールされていない場合、フォントを表示しますか?
- 4. Oracle JVM 8:コードキャッシュのフラッシュが有効な場合、フラッシュされる量はいくらですか?
- 5. プロセスが存在しない場合、プロセスにパイプするか?
- 6. POSIX共有メモリを使用する場合、POSIXセマフォはどこに置かれますか?
- 7. C、forkされたプロセスでPOSIXセマフォを使用するには?
- 8. sh -c "command"のSigkill子プロセス
- 9. プロセスがコアをジャンプするときにL1キャッシュがフラッシュされますか?
- 10. メモリマップファイルを非同期でフラッシュする方法はありますか?
- 11. Anacondaがインストールされている場合、Lektor OS Xデスクトップアプリインストールシェルコマンドが失敗する
- 12. Windows phone 7.3 OSはフラッシュとシルバーをサポートしています
- 13. スレッドがdllから作成された場合、std :: asyncはプロセス終了をブロックしていますか?
- 14. フラッシュが検出された場合にのみモジュールをロードします
- 15. プロセスをブロックするPOSIXシステムコールはどれですか?
- 16. POSIX APIがOSによって実装されているかどうかを調べる簡単な方法
- 17. posix:プロセス間ロックが放棄されました、よりよい方法はありますか?
- 18. フラッシュが検出されなかった場合は画像マップを表示
- 19. フラッシュが存在しない場合、フロントカメラのAVCaptureDevice.hasFlashはtrueを返します。
- 20. gdbによってどのプロセス(stat:T)がアタッチされているかを知るには?プロセスは、GDBによって取り付けられている場合
- 21. Do(POSIX)オペレーティングシステムは、プロセスがクラッシュした後にリソースを回復しますか?
- 22. プロセスがWebページで実行されている場合、どうすれば表示できますか?
- 23. Flashがファイルをダウンロードした場合、それはキャッシュされていますか?
- 24. ヘルプテキストが表示されている場合は表示されますか?
- 25. 64ビットOSの場合、メモリリークはまだ関係していますか?
- 26. cpuがプロセスを実行している場合、誰がカーネルを実行していますか?
- 27. を確認する前のステップステータスが完了していて、完了した場合は次のプロセスが表示される場合
- 28. プロセスが変数を定義していないが、共有ライブラリのextern変数として使用されている場合はどうなりますか?
- 29. elisp:シンボルに値が返されている場合はそれ以外の場合はnilを返します
- 30. Boostの `mapped_file_sink`クラスを使ってメモリマップファイルをフラッシュする方法はありますか?
ありがとうございました! この現象についてのドキュメントがありますか?私は何も見つけることができませんでした。 – chila
mmap()のPOSIX標準(http://www.opengroup.org/onlinepubs/9699919799/toc.htm)は次のように述べています。MAP_SHAREDが指定されている場合、書き込み参照は基底のオブジェクトを変更します。 「メモリ書き込みが完了した後、データがディスクにフラッシュされる前にプロセスが強制終了されない限り、 –