23

Учитывая pid процесса, который выполняется на x64 linux, как мне узнать, работает ли он 32- или 64-разрядный двоичный файл?

Я могу посмотреть на двоичный файл, в котором заканчивается 'ps', и создать для него файл, но мне было интересно, есть ли способ узнать, посмотрев на /proc / или что-то в этом роде.

2 ответа2

30

Вы можете использовать file чтобы получить эту информацию:

Например:

chris@obsidian:~$ file /usr/bin/perl
/usr/bin/perl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped

или читать из /proc /

chris@obsidian:~$ file -L /proc/[PID]/exe
/proc/[PID]/exe: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped

Это скажет вам, если это 64 или 32-разрядный.

5

Начиная с PID вы можете:

file -L /proc/PID/exe

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .