Solucione problemas de las aplicaciones Mac de la manera antigua con señales POSIX

Las señales POSIX son el resultado de la base de Unix en el corazón de macOS, pero ¿por qué están ahí y cómo pueden usarse?

Las señales POSIX son el resultado de la base de Unix en el corazón de macOS, pero ¿por qué están ahí y cómo pueden usarse?
Anuncio

En Activity Monitor hay una opción de menú críptica para Enviar señal al proceso . ¿Alguna vez te has preguntado qué era? Si lo selecciona, verá términos oscuros como SIGINT y SIGHUP, que no aclaran nada. Entonces, ¿qué son exactamente estas señales?

Esas señales son el resultado de la base de Unix Mac OS X Yosemite, desde la perspectiva de un usuario de Linux Mac OS X Yosemite, desde la perspectiva de un usuario de Linux Mac OS X se utiliza como el elemento poster para una interfaz limpia y elegante. Como escritor de Linux, es mi deber hacer comparaciones entre las distribuciones de Linux, pero también contra la competencia. Lea más en el corazón de macOS. El terminal tiene algunas de estas señales incorporadas: cuando presiona Ctrl + C para detener un comando en ejecución, está enviando el proceso SIGINT para interrumpir y detener el comando actualmente en ejecución. Fueron una de las primeras formas en que las aplicaciones se podían comunicar entre sí y son parte de los viejos estándares de la "Interfaz de sistema operativo portátil" (POSIX).

Si bien es bueno comprender los conceptos básicos de cómo funciona su sistema, también puede usar estas señales para capturar información sobre aplicaciones que se portan mal.

¿Qué es POSIX?

POSIX es el estándar básico para los sistemas operativos Unix y Unix. Entre estos sistemas compatibles se encuentra macOS, que fue diseñado para ser compatible con Unix. En su núcleo está Darwin, un núcleo de Unix con raíces que datan de NeXTSTEP. Eso en sí mismo era una bifurcación de BSD, una de las variantes originales de Unix.

POSIX garantiza que todos estos sistemas operativos manejen el código de la forma esperada, lo que permite a los desarrolladores saber que su código es verdaderamente portátil. Cuando envían una de estas señales en otra máquina a un proceso, los datos que obtienen están en un formato que pueden anticipar y procesar. Esta es una simplificación bruta de aproximadamente 40 años de historia informática, pero se entiende la idea general.

Cuando se comunican con los daemons más básicos que componen la base de macOS de Unix, estas señales son las mejores. Los daemons son los procesos en segundo plano que ejecutan los elementos esenciales de su computadora, o en el lenguaje común macOS, servicios. El infame discoveryd es un ejemplo. Este fue el reemplazo de OS X Yosemite 10.10 para mDNSResponder, otro servicio al que se achaca los problemas de red en esa actualización.

Línea de comando
Crédito de la imagen: Dominik Rusiecki a través de Freeimages

Dependiendo de la forma en que una aplicación esté diseñada para recibir señales, puede enviar una señal para salir de una aplicación y crear lo que se denomina un volcado del núcleo. Los volcados del núcleo contienen todos los datos actuales sobre un programa en ejecución. Estos son esenciales para la resolución de problemas de aplicaciones que constantemente se cuelgan. En la Mac, estos volcados en el formato de archivo Mach-O, que puede leer en el entorno de desarrollo macOS llamado Xcode. La mayoría de los usuarios probablemente no harán mucho con esto, pero si se siente frustrado por un problema de aplicación, puede ser útil enviarlo a un desarrollador para obtener asistencia.

Hay otro poco de computación clásica que muestra sus raíces aquí. El formato de archivo Mach-O comparte su nombre con el microkernel Mach. Junto con BSD, esto es parte de las raíces de macOS, y los dos son parte del kernel fundamental, XNU. Mach no tiene tanta historia como BSD, por lo que no tiene mucha prensa, pero es parte de lo que distingue al sistema operativo de Apple de otras variantes de Unix.

Entonces, ¿cómo puedo usarlos?

Todos hemos estado allí antes: obtienes una actualización de una aplicación, o descargas una nueva aplicación Cómo instalar y quitar el software de Mac: 5 métodos fáciles Cómo instalar y quitar el software de Mac: 5 métodos fáciles Cambia a una Mac y llega a se agarra con lo básico? ¿Se pregunta cómo instalar el software desde la línea de comandos? ¿Tienes viejas aplicaciones de Windows que simplemente debes ejecutar en tu computadora Apple? Lea más, y se cuelga cada vez que lo abra. Abre Force Quit en el Menú Apple y ve que la Aplicación aparece como No responde . Peor aún, es un proceso de fondo que arrastra su sistema hacia abajo.

Monitor de actividad

Abra el Monitor de actividad y haga clic en el proceso que no responde. Luego vaya al menú Ver y seleccione Enviar señal para procesar . Aparecerá un menú emergente que le permitirá elegir qué señal enviar al proceso, seleccione su señal y presione Enviar .

Si prefiere la Terminal 4 Cosas interesantes que puede hacer con la Terminal Mac 4 Cosas interesantes que puede hacer con la Terminal Mac La Terminal es la anotación Mac OS X del símbolo del sistema de Windows, o CMD. Es una herramienta, como probablemente ya sabe, que le permite controlar su computadora utilizando comandos de texto, en lugar de ... Leer más, usará un comando que ya conoce. El comando kill se usa para detener un proceso. Si agrega -s, puede agregar un número para enviar una señal al proceso que está matando. Aquí hay una lista de la lista de comandos comunes en la página kill man:

  • 1 - HUP (colgar)
  • 2 - INT (interrupción)
  • 3 - SALIR (salir)
  • 6 - ABRT (abortar)
  • 9 - KILL (kill no capturable, no ignorable)
  • 15 - TERM (señal de terminación del software)

También hay otras señales que puedes enviar, estas son solo las más comunes. Hay una lista completa de códigos disponibles aquí.

¿Cuándo los uso?

Ahora que sabe qué hacer con las señales POSIX, puede usarlas para detener limpiamente los procesos bloqueados. Para ser justos, no vas a usar estos códigos todos los días. Cuando trabaje con un desarrollador en una falla inesperada de la aplicación o cuando ayude a su sysadmin beta a probar las aplicaciones internas de su empresa, estos códigos pueden ayudarlo a obtener la información que necesita.

Si la aplicación está codificada para crear estos volcados, los encontrará en el directorio /cores hace que este sea un directorio fácil de usar al obtener datos para una aplicación bloqueada o colgada. Puede comprobar aquí y ver qué volcados se encuentran en el directorio utilizando el ls -a . Esto le mostrará todos los archivos en ese directorio, luego puede copiarlos a un directorio de música más accesible, el comando mv filename destination .

En Terminal use el command cd /cores para cambiar al directorio, luego ls -a para enumerar los contenidos. Para mover un archivo a la carpeta Documentos, simplemente use mv filename /Users/username/Documents (reemplazando nombre de archivo y nombre de usuario ).

mackeyboard
Crédito de la imagen: Erika Varga a través de Freeimages

Si eres un usuario de Unix desde hace mucho tiempo que se mudó a la Mac, ¿qué otras características poco conocidas hay por ahí? Si está interesado en consultar un proyecto que solo utiliza la base de código abierto de macOS, consulte PureDarwin. Háganos saber cómo funcionó en los comentarios. También nos gustaría saber cuándo las señales POSIX resolvieron un problema obstinado con su Mac.

¿Ha usado señales POSIX para solucionar problemas anteriormente?

Créditos de las imágenes: Dean Drobot / Shutterstock

In this article