Como saber se o processo Linux é de 64 bits

23

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?

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

naumcho
fonte

Respostas:

30

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 lido de / 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 informará se é de 64 ou 32 bits.

Matthieu Cartier
fonte
5

A partir do, PIDvocê pode:

file -L /proc/PID/exe
cYrus
fonte