Как определить, является ли процесс Linux 64-битным

23

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

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

naumcho
источник

Ответы:

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
Кир
источник