23

Given the pid of a process that's running on a x64 linux, how do I tell if it's running a 32 or 64 bit binary?

I can look at the binary it's running out of 'ps' and do a file on that but I was wondering if there's a way to tell by looking at /proc/ or something like that.

30

You can use file to get that information:

For example:

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

or read from /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

This will tell you if it is 64 or 32-bit.

5

Starting from the PID you can:

file -L /proc/PID/exe

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.