Cómo saber si el proceso de Linux es de 64 bits

Cómo saber si el proceso de Linux es de 64 bits

Dado el pid de un proceso que se ejecuta en Linux x64, ¿cómo puedo saber si está ejecutando un binario de 32 o 64 bits?

Puedo mirar el binario, se está quedando sin 'ps' y crear un archivo sobre eso, pero me preguntaba si hay una manera de saberlo mirando /proc/ o algo así.

Respuesta1

Puede utilizar filepara obtener esa información:

Por ejemplo:

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

o leer desde /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

Esto te dirá si es de 64 o 32 bits.

Respuesta2

A partir del PIDpuedes:

file -L /proc/PID/exe

información relacionada