如何判断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

相关内容