web-dev-qa-db-ja.com

Linuxプロセスが64ビットかどうかを確認する方法

X64 linuxで実行されているプロセスのPIDを考慮して、32ビットまたは64ビットのバイナリを実行しているかどうかを確認するにはどうすればよいですか?

「ps」が不足しているバイナリを確認してファイルを作成できますが、/ proc /などを確認する方法があるかどうか疑問に思っていました。

22
naumcho

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ビットかがわかります。

29

PIDから、次のことができます。

file -L /proc/PID/exe
5
cYrus