給定在 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