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

相關內容