linux中共享库内存映射的访问权限

时间:2014-04-07 03:07:53

标签: memory-management linux-kernel shared-libraries

我对linux中的共享库有疑问。如果进程使用写权限映射共享库并写入它,它是否会触发copy-on-write?

例如,进程A的内存映射具有以下条目:

40321000-40336000 r-xp 00000000 b3:15 875        /system/lib/libm.so
40336000-40337000 r--p 00014000 b3:15 875        /system/lib/libm.so
40337000-40338000 rw-p 00015000 b3:15 875        /system/lib/libm.so

第3个条目具有权限rw-p,这意味着它具有写入权限。因此,如果进程A写入此部分,是否写入了copy-on-write?如果是这样,是否意味着具有相同共享库映射的其他进程将无法看到A写入的数据进程?

嘉文

1 个答案:

答案 0 :(得分:3)

由于映射是私有的,因此其他进程不会得到A的写入

的更改

http://man7.org/linux/man-pages/man2/mmap.2.html(MAP_PRIVATE将确保不会反映A&#39的更改)