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

관련 정보