The goal of procmaps is to help determine which library or other region is mapped to a specific address of a process. It is the equivalent of /proc/self/maps
as a data frame, and is designed to work on all major platforms.
You can install the released version of procmaps from CRAN with:
install.packages("procmaps")
This is what /proc/self/maps
looks like (on Linux) when this document is rendered:
cat /proc/self/maps #> 56390592e000-563905936000 r-xp 00000000 fd:01 2883652 /bin/cat #> 563905b35000-563905b36000 r--p 00007000 fd:01 2883652 /bin/cat #> 563905b36000-563905b37000 rw-p 00008000 fd:01 2883652 /bin/cat #> 563906bb9000-563906bda000 rw-p 00000000 00:00 0 [heap] #> 7fb42c468000-7fb42c8c7000 r--p 00000000 fd:01 29370411 /usr/lib/locale/locale-archive #> 7fb42c8c7000-7fb42caae000 r-xp 00000000 fd:01 15731435 /lib/x86_64-linux-gnu/libc-2.27.so #> 7fb42caae000-7fb42ccae000 ---p 001e7000 fd:01 15731435 /lib/x86_64-linux-gnu/libc-2.27.so #> 7fb42ccae000-7fb42ccb2000 r--p 001e7000 fd:01 15731435 /lib/x86_64-linux-gnu/libc-2.27.so #> 7fb42ccb2000-7fb42ccb4000 rw-p 001eb000 fd:01 15731435 /lib/x86_64-linux-gnu/libc-2.27.so #> 7fb42ccb4000-7fb42ccb8000 rw-p 00000000 00:00 0 #> 7fb42ccb8000-7fb42ccdf000 r-xp 00000000 fd:01 15731135 /lib/x86_64-linux-gnu/ld-2.27.so #> 7fb42ceb2000-7fb42ceb4000 rw-p 00000000 00:00 0 #> 7fb42cebd000-7fb42cedf000 rw-p 00000000 00:00 0 #> 7fb42cedf000-7fb42cee0000 r--p 00027000 fd:01 15731135 /lib/x86_64-linux-gnu/ld-2.27.so #> 7fb42cee0000-7fb42cee1000 rw-p 00028000 fd:01 15731135 /lib/x86_64-linux-gnu/ld-2.27.so #> 7fb42cee1000-7fb42cee2000 rw-p 00000000 00:00 0 #> 7ffed6a9a000-7ffed6abc000 rw-p 00000000 00:00 0 [stack] #> 7ffed6b08000-7ffed6b0b000 r--p 00000000 00:00 0 [vvar] #> 7ffed6b0b000-7ffed6b0d000 r-xp 00000000 00:00 0 [vdso] #> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Other operating systems make this information available in other form. This package provides the equivalent as a data frame, regardless of operating system:
library(procmaps) procmap_get() #> Converting to tibble, mute this message with `as_tibble = TRUE`. #> # A tibble: 378 x 6 #> from to perms offset inode pathname #> <chr> <chr> <chr> <chr> <chr> <chr> #> 1 000055cc2db… 000055cc2d… r-xp 000000… 29393… /usr/lib/R/bin/exec/R #> 2 000055cc2dd… 000055cc2d… r--p 000000… 29393… /usr/lib/R/bin/exec/R #> 3 000055cc2dd… 000055cc2d… rw-p 000010… 29393… /usr/lib/R/bin/exec/R #> 4 000055cc2e4… 000055cc33… rw-p 000000… 0 [heap] #> 5 00007f9bac9… 00007f9bac… r-xp 000000… 28991… /home/kirill/git/R/r-prof/proc… #> 6 00007f9bac9… 00007f9bac… ---p 000040… 28991… /home/kirill/git/R/r-prof/proc… #> 7 00007f9bacb… 00007f9bac… r--p 000030… 28991… /home/kirill/git/R/r-prof/proc… #> 8 00007f9bacb… 00007f9bac… rw-p 000040… 28991… /home/kirill/git/R/r-prof/proc… #> 9 00007f9bacb… 00007f9bac… r-xp 000000… 28722… /home/kirill/R-dev/glue/libs/g… #> 10 00007f9bacb… 00007f9bac… ---p 000020… 28722… /home/kirill/R-dev/glue/libs/g… #> # … with 368 more rows
Please note that the procmaps project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.