2013-06-29 11 views
0

У меня есть два вопроса: оба они могут быть связаны, поэтому я спрашиваю сразу. В каталоге Linux есть/proc, который представляет собой структуру данных времени выполнения и предоставляет информацию о запуске процесса. Есть ли в Windows такой каталог, где я могу получить информацию о процессе выполнения, например, его расположение и открытые дескрипторы. Пожалуйста, не предлагайте такие инструменты, как Process Explorer, это хорошо, но они не являются частью основных окон Windows.Структура данных времени выполнения, такая как proc в windows

Во-вторых, для Windows сказано, что не все файлы, такие как сокет, не является файлом. Означает ли это, что это не тот файл, который вы можете видеть на своем жестком диске, но среда выполнения создает файл, а в proc - как структура данных - имеет некоторую запись.

Спасибо.

+0

Вы можете использовать счетчики производительности в Windows для достижения аналогичных результатов. –

ответ

0

Хотя Windows имеет возможность создавать виртуальные файлы (для этого используются драйверы устройств), таких файлов для информации о процессе нет. Информация о процессах доступна либо через process functions, либо недокументированные функции, используемые в Process Explorer, либо вообще нет.

Не каждый файл хранится на каком-либо диске. Виртуальные файлы по существу являются лишь некоторым значением в памяти или некоторой функцией обратного вызова, которая динамически генерирует содержимое файла, когда вы пытаетесь его прочитать.

+0

Когда Process Explorer был создан, Sysinternals не был частью Microsoft. Итак, как Марк знает о недокументированной apis. –

+0

@ ss7don Он и Брайс, должно быть, знали некоторых людей в Microsoft. Кроме того, недокументированные части Windows NT можно найти, просмотрев через проверенную сборку и/или отладчик. –

+0

Спасибо. Я думаю, что мой комментарий был глупым. –