44 votos

¿Cómo determinar si un programa de MacOS en Apple Silicon es x86 emulado o ARM nativo desde la línea de comandos?

Tengo un MacBook Pro M1 y he descargado algunos binarios nativos (ARM) y x86_64(Rosetta 2 emulado).

  1. ¿Cómo puedo determinar desde la línea de comandos cuál de estos ISA es un archivo binario concreto?
  2. ¿Existe alguna forma de saber si un programa que se está ejecutando actualmente se está ejecutando nativo o bajo Rosetta 2?

63voto

negacao Puntos 123

Ejecutar el archivo en un binario:

krismatth@KristophersMBP3 ~$ file /bin/bash
/bin/bash: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/bin/bash (for architecture x86_64):    Mach-O 64-bit executable x86_64
/bin/bash (for architecture arm64e):    Mach-O 64-bit executable arm64e

El Monitor de Actividad muestra la arquitectura de los programas en ejecución:

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X