Но я хочу использовать эту функцию, используя функцию POSIX. Я не ищу готовый код.
Не существует функции POSIX для отображения запущенных процессов. Это зависит от ОС, а не переносимо, редко требуется приложениям и, следовательно, не является частью POSIX.
Но поскольку вам это нужно в Linux, наиболее подходящим решением POSIXy будет использование функций opendir()
/ readdir()
/ closedir()
для перебора содержимого специальной файловой системы /proc
.
Все числовые записи в каталоге являются PID запущенных процессов. Проверьте содержимое man 5 proc
, чтобы узнать, какую информацию о запущенных процессах можно получить оттуда. Затем вы можете использовать вызовы open()
/ read()
/ close()
или readlink()
для получения информации о конкретном процессе из файлов /proc/NNN/*
.
В Linux стандартные инструменты, такие как ps
и top
, используют /proc
для сбора информации о процессах. Это официальный интерфейс Linux для информации о запущенных процессах.