Como saber se o processo Linux é de 64 bits

Como saber se o processo Linux é de 64 bits

Dado o pid de um processo que está sendo executado em um Linux x64, como posso saber se ele está executando um binário de 32 ou 64 bits?

Posso olhar para o binário que está ficando sem 'ps' e fazer um arquivo sobre isso, mas queria saber se há uma maneira de saber olhando para /proc/ ou algo parecido.

Responder1

Você pode usar filepara obter essas informações:

Por exemplo:

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

ou leia em /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

Isso lhe dirá se é de 64 ou 32 bits.

Responder2

Começando pelo PIDvocê pode:

file -L /proc/PID/exe

informação relacionada