Проверьте, не работает ли исполняемый двоичный файл 32 или 64 бит
Можно проверить, работает ли бинарный процесс пакета приложений в 32 или 64-битном режиме, поскольку ответил в этом вопросе, но я могу проверить, что это только работает с процессами GUI.
Однако мне также нужно проверить процессы, которые не имеют графического интерфейса и не являются частью пакета.
Итак, программно, без вызова системных функций или других исполняемых файлов, как я могу проверить, работает ли какой-либо процесс в 32 или 64-битном режиме, учитывая процесс pid?
Ответы
Ответ 1
Итак, я наконец нашел ответ уже на SO here, для Carbon.
Чтобы использовать этот код сейчас, требуется включить:
#include <sys/sysctl.h>
Кроме того, кажется, что член структуры процесса изменился с
proc->kp_proc.p_flags
:
proc->kp_proc.p_flag