X64 linuxで実行されているプロセスのPIDを考慮して、32ビットまたは64ビットのバイナリを実行しているかどうかを確認するにはどうすればよいですか?
「ps」が不足しているバイナリを確認してファイルを作成できますが、/ proc /などを確認する方法があるかどうか疑問に思っていました。
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ビットかがわかります。
PID
から、次のことができます。
file -L /proc/PID/exe