Sponsored Content
Full Discussion: /proc/pid/maps
Top Forums UNIX for Dummies Questions & Answers /proc/pid/maps Post 302573985 by ygemici on Wednesday 16th of November 2011 08:12:09 AM
Old 11-16-2011
Quote:
Originally Posted by vistastar
But why the shared part of shared library don't show in the maps like
Code:
b73a7000-b73ae000 r--s 00000000 08:08 12004      /usr/lib/gconv/gconv-modules.cache

?
shared libraries are mapped with MAP_PRIVATE flag (points the 'p') for only visible from the process which calls to mmap() not other process that mapping the same file.
if any changes are needed on the shared library, then changes just affect the memory mapped region of this process by the get a copy of this page and read/write on that.
so other process are not affected for any changes.

eventually these files are mapping with 'private' type for probably despite the case of file corruption.nevertheless after the any made changes (on the copy page), modified/changed pages can use for share between processes with MAP_SHARED flag.(as the `parent-child` processes..)

gconv-modules.cache is cache data (i.e..recently libraries..) file for speedup the loading executables that provided by glibc, therefore cache datas must use as writable for any applications.because, these are mapped with MAP_SHARED (points the 's').and so last changes are visible by the other processes.

regards
ygemici
 

8 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

NIS Maps

Hello.. I stink at NIS! :) Im having a problem with NIS on solaris 2.X. / SPARC I have some maps that are exported to all clients in the domain. Now I setup a new server and add it as a nis client to the domain. On the NIS server there is a auto_direct map that mounts /usr/local . This is... (4 Replies)
Discussion started by: s93366
4 Replies

2. Programming

printing ppid,child pid,pid

question: for the below program i just printed the value for pid, child pid and parent pid why does it give me 6 values? i assume ppid is 28086 but can't figure out why there are 5 values printed instead of just two! can someone comment on that! #include<stdio.h> #define DIM 8 int... (3 Replies)
Discussion started by: a25khan
3 Replies

3. UNIX for Dummies Questions & Answers

Session PID & socket connection pid

1. If I use an software application(which connects to the database in the server) in my local pc, how many PID should be registered? Would there be PID for the session and another PID for socket connection? 2. I noticed (through netstat) that when I logged in using the my software application,... (1 Reply)
Discussion started by: pcx26
1 Replies

4. Red Hat

read maps from /proc/pid/

hi, i hav a query abt reading the contents of /proc/pid/maps file.is there any system apis or functions available to get the data from dat file and parse according to my need. i need name of the .so,Create date of the .so file.,Location of .so file etc. please provide a good source. yes i hav... (3 Replies)
Discussion started by: sanjaykhuntia
3 Replies

5. UNIX for Dummies Questions & Answers

Need to get pid of a process and have to store the pid in a variable

Hi, I need to get the pid of a process and have to store the pid in a variable and i want to use this value(pid) of the variable for some process. Please can anyone tell me how to get the pid of a process and store it in a variable. please help me on this. Thanks in advance, Amudha (7 Replies)
Discussion started by: samudha
7 Replies

6. UNIX for Dummies Questions & Answers

_/proc/stat vs /proc/uptime

Hi, I am trying to calculate the CPU Usage by getting the difference between the idle time reported by /proc/stat at 2 different intervals. Now the 4th entry in the first line of /proc/stat will give me the 'idle time'. But I also came across /proc/uptime that gives me 2 entries : 1st one as the... (0 Replies)
Discussion started by: coderd
0 Replies

7. Shell Programming and Scripting

does the pid of background process show in /proc?

Hi all, I'm reading <advanced bash scripting> and there is a example to kill a background process in a limited time,as shown below: #! /bin/bash #set -n TIMEOUT=$1 count=0 hanging_jobs & { while ((count < TIMEOUT));do eval ' && ((count = TIMEOUT))' ((count++)) sleep 1... (6 Replies)
Discussion started by: homeboy
6 Replies

8. Shell Programming and Scripting

Closing open file descriptors from /proc/pid/fd

Hi guys, i need to write a shell script that will close file descriptors from /proc/pid/fd will calling exec 4<&- solve the problem ? thanks in advance :) (15 Replies)
Discussion started by: alpha_romeo
15 Replies
MINHERIT(2)						      BSD System Calls Manual						       MINHERIT(2)

NAME
minherit -- control the inheritance of pages LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/mman.h> int minherit(void *addr, size_t len, int inherit); DESCRIPTION
The minherit() system call changes the specified pages to have the inheritance characteristic inherit. Not all implementations will guaran- tee that the inheritance characteristic can be set on a page basis; the granularity of changes may be as large as an entire region. FreeBSD is capable of adjusting inheritance characteristics on a page basis. Inheritance only effects children created by fork(). It has no effect on exec(). exec'd processes replace their address space entirely. This system call also has no effect on the parent's address space (other than to potentially share the address space with its children). Inheritance is a rather esoteric feature largely superseded by the MAP_SHARED feature of mmap(). However, it is possible to use minherit() to share a block of memory between parent and child that has been mapped MAP_PRIVATE. That is, modifications made by parent or child are shared but the original underlying file is left untouched. INHERIT_SHARE This option causes the address space in question to be shared between parent and child. It has no effect on how the original underlying backing store was mapped. INHERIT_NONE This option prevents the address space in question from being inherited at all. The address space will be unmapped in the child. INHERIT_COPY This option causes the child to inherit the address space as copy-on-write. This option also has an unfortunate side effect of causing the parent address space to become copy-on-write when the parent forks. If the original mapping was MAP_SHARED, it will no longer be shared in the parent after the parent forks and there is no way to get the previous shared-backing-store mapping without unmapping and remapping the address space in the parent. RETURN VALUES
The minherit() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi- cate the error. ERRORS
The minherit() system call will fail if: [EINVAL] The virtual address range specified by the addr and len arguments is not valid. [EACCES] The flags specified by the inherit argument were not valid for the pages specified by the addr and len arguments. SEE ALSO
fork(2), madvise(2), mincore(2), mprotect(2), msync(2), munmap(2), rfork(2) HISTORY
The minherit() system call first appeared in OpenBSD and then in FreeBSD 2.2. BUGS
Once you set inheritance to MAP_PRIVATE or MAP_SHARED, there is no way to recover the original copy-on-write semantics short of unmapping and remapping the area. BSD
October 30, 2007 BSD
All times are GMT -4. The time now is 11:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy