草庐IT

SIGKILLed

全部标签

c++ - 如果进程被 SIGKILLed,操作系统(POSIX)是否刷新内存映射文件?

如果一个进程被SIGKILL杀死,它对内存映射文件所做的更改是否会刷新到磁盘?我假设如果操作系统确保在进程通过SIGKILL终止时将内存映射文件刷新到磁盘,那么它也会使用其他终止信号(SIGABRT、SIGSEGV等)这样做。 最佳答案 这取决于内存映射文件是否以私有(private)(MAP_PRIVATE)或不(MAP_SHARED)修改打开。如果是私有(private)的,那么没有;修改不会写回磁盘。如果共享,内核缓冲池包含修改后的缓冲区,这些缓冲区将在适当的时候写入磁盘-无论死因如何。

c++ - 如果进程被 SIGKILLed,操作系统(POSIX)是否刷新内存映射文件?

如果一个进程被SIGKILL杀死,它对内存映射文件所做的更改是否会刷新到磁盘?我假设如果操作系统确保在进程通过SIGKILL终止时将内存映射文件刷新到磁盘,那么它也会使用其他终止信号(SIGABRT、SIGSEGV等)这样做。 最佳答案 这取决于内存映射文件是否以私有(private)(MAP_PRIVATE)或不(MAP_SHARED)修改打开。如果是私有(private)的,那么没有;修改不会写回磁盘。如果共享,内核缓冲池包含修改后的缓冲区,这些缓冲区将在适当的时候写入磁盘-无论死因如何。