Почему находится информация о UID не в/proc/X/stat?

Можно проверить на удаленные файлы с lsof | grep -i deleted Затем Вы видите, держится ли процесс за inode, что Вы думаете, был удален. Если так, перезапустите родительский процесс для выпуска старого (удаленного) файла.

5
27.11.2013, 09:49
1 ответ

При обработке данных, большой части времени, ключ должен сохранить только данные, это относится к определенному набору задач и ничего больше. Большая часть данных это выставляется под /proc сделан так для исключительной цели, т.е. инструмента, который должен иметь видимость к ней и т.д.

Учитывая комментарии я принял бы 3 вещи о /proc/[number]/stat:

  1. Данные, отображаемые здесь, - то, что относится к функциям и объектам данных в /usr/src/linux/fs/proc/array.c.
  2. Те данные также, что относится для ps.
  3. При просмотре данных, которые это здесь, Вы заметите, что нет ничего здесь, это - конкретный пользователь. Это все приспособлено к процессам.

Примечание: для № 2. это - данные процесса, для которых это относится ps. Процессы, принадлежавшие пользователю, сохранены в другой структуре данных в Ядре в другом месте.

На otherhand, с /proc/[number]/status, комментарий в значительной степени говорит Вам, что эти данные приспособлены к, человек, читающий его. Таким образом, вероятно, что этот узел в Ядре не служит никакой другой цели, с точки зрения инструментов, затем для сопоставления данных из других источников в единственное место для пользователя для потребления его.

Дополнительное доказательство

Если Вы нуждаетесь в большем количестве доказательства этого, обращаетесь к этому вопросу, я ответил только что, названный:/proc/meminfo MemTotal =?. Этот вопрос покрыт /proc/meminfo и это была подобная проблема здесь также. Некоторые данные выставляются во время начальной загрузки Ядра под dmesg журнал производится. Однако те данные, хотя память, связанная и воспринятая как относящийся для /proc/meminfo отсутствовало, снова потому что это не было полезно для:

  1. целевая аудитория инструментов, которые использовали бы /proc/meminfo
  2. Не относящийся к Ядру внутренние функции, методы и структуры данных, которые использовали данные в /proc/meminfo.

Ссылки

2
27.01.2020, 20:42
  • 1
    +#3, вероятно, близко к метке. № 2 я менее продаюсь на, как ps действительно на самом деле должен смочь отобразиться RUID и EUID для процесса в зависимости от формата. Они, вероятно, ищутся с syscalls вместо через/proc в той точке. –  Andrew B 27.11.2013, 03:04
  • 2
    Да я должен был квалифицировать тот маркер немного больше. Я имел в виду данные, связанные с процессом, настолько относящимся для ps. Я обновлю A. –  slm♦ 27.11.2013, 04:28
  • 3
    @AndrewB Для записи, ps ищет его в /proc/<pid>/status! Это использует обоих stat и status файлы, потому что ни один не содержит все биты информации, в которой это нуждается (uids находятся только в status, управление терминалом находится только в stat... это - путаница). –  Nicholas Wilson 22.01.2014, 14:27

Теги

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