Messages in this thread | | | Date | Sun, 02 Nov 2003 02:17:47 -0600 | From | "Jeffrey E. Hundstad" <> | Subject | Re: /proc/[0-9]*/maps where did the (deleted) status go? |
| |
I'm going to fine tune this report a little bit. The behavior change is more subtle than I at first thought.
In 2.4: file that has been deleted, and is mapped will show as deleted in the maps file In 2.6: file that has been deleted, and is mapped will show as deleted in the maps file
In 2.4: file that has been moved, and is mapped will show as deleted in the maps file In 2.6: file that has been moved, and is mapped will show the new name in the maps file
While I don't see this as a bug in the kernel it certainly is a regression difference. ...and I'd still like a way of tracking when the filename changes. If anyone has a good suggestion let me know.
As a side note... this is the output of a file that has actually been deleted. It looks different from the 2.4 version (note the "\040" is something new):
40018000-40019000 rw-s 00000000 03:04 13355559 /home/j3gum/src/mmap/testfile.old\040(deleted)
Jeffrey E. Hundstad
Jeffrey E. Hundstad wrote:
> Hello, > > In the 2.4.x kernels the /proc/[process id]/maps file contains that > processes current mappings. This is also true with 2.6.0-test9 but > I've noticed a difference. It is a feature I'll miss. In the 2.4 > kernels when a file is mapped but no longer exists (because it has > been removed) the mapping line would contain the text "(deleted)" > after it. > > I've used this feature after I've updated libraries on my system. I > ran a little scriptlet (see below). It'd tell me which processes were > running with the old copy of the library. This way I restart those > processes. > > Is this a feature that can be restored, or perhaps there's a better > way to do it. Let me know? > > > ---- scriptlet library-restart-app follows: > #!/bin/bash > for i in `find /proc/ -mindepth 2 -maxdepth 2 -name "maps" | xargs > grep -a deleted | grep -a -E -v /SYSV[0-9a-z]{8} |grep -a -v /dev/zero > | cut -d ':' -f1 | cut -d '/' -f3 | sort | uniq | sed -e > 's/\(.*\)/\/proc\/\1\/cmdline/'`;do echo -n "`echo $i| cut -d '/' -f3` > ";cat $i|tr "\000" "\n" |head -1;done---- ---- scriptlet > library-restart-app ends > >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |