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

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

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

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

решение1

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-битной.

решение2

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

file -L /proc/PID/exe

Связанный контент