Я видел много учебников и документации о том, как получить дескрипторы файлов из заданного pid. Ну, я хочу сделать иначе.Можно получить ПИД из заданного дескриптора файла (программно используя C++)?
Спасибо.
Я видел много учебников и документации о том, как получить дескрипторы файлов из заданного pid. Ну, я хочу сделать иначе.Можно получить ПИД из заданного дескриптора файла (программно используя C++)?
Спасибо.
Конечно, нет, это похоже на попытку получить PID, который вызвал main
. Каждый процесс имеет дескриптор файла 0 (stdin
), 1, 2 и т. Д., И они означают разные вещи для каждого процесса.
Дескриптор файла, который является просто маленьким целым, не имеет смысла, если вы уже не знаете, о каком процессе вы говорите.
В противном случае, что теперь? Возможно, вы ищете исходный код для [lsof] (http://en.wikipedia.org/wiki/Lsof)? –
Спасибо за комментарии. Бен уже отвечает мне. –
Это зависит от системы. Вы можете сделать это на linux, например, используя SO_PEERCRED для извлечения файла ucred.pid. Аналогично, Solaris получила возможность получить зону peer + pid. –