/proc/self/maps - 3-я отображенная часть файла?

Можно использовать grep получить строки и grep -c получить количество строк. Если Вам не нравится работать grep два раза можно использовать tee и замена процесса (следующее является синтаксисом удара):

grep abc-ERROR: input.txt | tee >( wc -l )
7
11.02.2014, 21:35
2 ответа

Я наконец понял это. Ядро отображает только 2 сегмента. Третий кусок - это часть одного из двух загруженных ядром. Компоновщик времени выполнения, программа, названная в заголовке INTERP, которая сейчас для меня /usr/lib/ld-2.24.so, изменяет разрешения на сопоставления с помощью mprotect () , чтобы глобальные переменные для чтения / записи, глобальные переменные только для чтения и текстовый сегмент для чтения / выполнения. Вы можете увидеть, как это происходит, используя strace , но это легко упустить, поскольку это всего лишь один вызов mprotect () .

Это было вызвано не изменением ядра, а изменением GNU lib C.

1
27.01.2020, 20:19

Привет, у меня было такое же замешательство, как и у вас, я копался в Интернете и нашел это, я думаю, это тоже ответ на вашу ошибку. ссылка: https://stackoverflow.com/questions/33756119/relationship-between-vma-and-elf-segments

для shrot:

00400000-0040b000 r-xp 00000000 08:02 1186756             /usr/bin/cat
**use for store text code and const varibles**

0060a000-0060b000 r--p 0000a000 08:02 1186756             /usr/bin/cat
**use for GNU_RELRO relocated info**

0060b000-0060c000 rw-p 0000b000 08:02 1186756             /usr/bin/cat
use for bss data segment

надеюсь, это полезно

1
27.01.2020, 20:19

Теги

Похожие вопросы