Я пытаюсь написать процедуру, которая возвращается из заданного пути PID в его двоичный файл или исполняемый файл, в зависимости от платформы.Я знаю, что это можно сделать в Windows с помощью windows.h, но это решение зависит от платформы.
Я пытался найти решение с помощью Qt, но я не достиг своей цели, потому что нет способасоздать QProcess или любой другой класс, используя предоставленный PID.
Но boost (v1.66) имеет класс boost :: process :: child, который может быть создан с использованием предоставленного PID и может даже возвращать собственный дескриптор (boost:: процесс :: ребенок :: native_handle_t).Но оттуда я не знаю.
У него нет никаких методов (что неудивительно, потому что это кажется псевдонимом для void *), но я не смог найти какой-либо метод, извлекающий какую-либо информацию из этого "class "либо.
Так есть ли способ извлечь информацию о местоположении двоичного файла из заданного PID, используя boost или нет ??
Черновик функции:
boost::filesystem::path GetExecutable (boost::process::pid_t pid) {
boost::filesystem::path path_to_executable;
bp::child process (pid);
boost::process::child::native_handle_t handle = process.native_handle();
.
.
.
return path_to_executable;
}