Для приложения CPP в Linux мне нужен список запущенных процессов, их PID, порт, на котором они работают, и расположение файла .exe, из которого он запускается.
Я могу использовать команду PS, но я хочу ее в приложении CPP. Использование команды System и анализ вывода не рекомендуется.
Сохраняет ли Linux эту информацию где-то, откуда я могу ее прочитать, или есть какие-то родные API, которые я могу использовать, например API win32 в Windows.
связанные: stackoverflow.com/questions/939778/…





Вы можете использовать libproc-dev.
The /proc interface provides access to the state of each user-level process and thread also known as lightweight process or lwp in the system. It also provides the ability to control such processes and threads. It is a low-level interface.
The libproc library provides a higher-level interface to the features of the /proc interface as well as access to information such as symbol tables which is necessary for the examination and control of processes and threads. For more information, see the proc(5) man page.
Взгляните на некоторые Примеры
Пример: для proc в /proc/*/cmdline; do echo $(basename $(dirname $proc)) $(cat $proc | tr "\0" " "); сделано – от: pet2cattle.com/2021/12/docker-ps-команда-не-найдена
Вы должны написать
psпохожий инструмент. Все процессы перечислены под/procв GNU/Linux.