Publicité

Dans Activity Monitor, il existe une option de menu cryptique pour Envoyer le signal au processus. Vous êtes-vous déjà demandé ce que c'était? Si vous le sélectionnez, vous verrez des termes obscurs comme SIGINT et SIGHUP, ce qui ne clarifie pas exactement les choses. Alors, quels sont exactement ces signaux?

Ces signaux sont le résultat de la Fondation Unix Mac OS X Yosemite, du point de vue d'un utilisateur LinuxMac OS X est utilisé comme enfant poster pour une interface propre et élégante. En tant qu'écrivain Linux, il est de mon devoir de faire des comparaisons entre les distributions Linux, mais aussi par rapport à la concurrence. Lire la suite au cœur de macOS. Le terminal a certains de ces signaux intégrés: lorsque vous appuyez sur Ctrl + C pour arrêter une commande en cours d'exécution, vous envoyez le processus SIGINT pour interrompre et arrêter la commande en cours d'exécution. Ils ont été l'une des premières façons dont les applications pouvaient communiquer entre elles et font partie des anciennes normes POSIX (Portable Operating System Interface).

instagram viewer

Bien qu'il soit agréable de comprendre les bases du fonctionnement de votre système, vous pouvez également utiliser ces signaux pour capturer des informations sur les applications qui se comportent mal.

Qu'est-ce que POSIX?

POSIX est la norme de base pour les systèmes d'exploitation Unix et Unix-Like. Parmi ces systèmes conformes se trouve macOS, qui a été conçu pour être compatible Unix. À la base se trouve Darwin, un noyau Unix dont les racines remontent à NeXTSTEP. C'était en soi un fork de BSD, l'une des variantes originales d'Unix.

POSIX garantit que tous ces systèmes d'exploitation gèrent le code de la manière attendue, permettant aux développeurs de savoir que leur code est vraiment portable. Lorsqu'ils envoient l'un de ces signaux sur une autre machine à un processus, les données qu'ils récupèrent sont dans un format qu'ils peuvent anticiper et traiter. Il s'agit d'une simplification grossière d'environ 40 ans d'histoire informatique, mais vous avez l'idée générale.

Lorsque vous communiquez avec les démons les plus élémentaires qui composent la base Unix de macOS, ces signaux sont les meilleurs. Les démons sont les processus d'arrière-plan qui exécutent l'essentiel de votre ordinateur - ou en commun macOS langage, services. L'infâme découvrir est un exemple. Il s'agissait du remplacement OS X Yosemite 10.10 pour mDNSResponder, un autre service blâmé pour les problèmes de réseau dans cette mise à jour.

Ligne de commande
Crédit d'image: Dominik Rusiecki via Freeimages

Selon la façon dont une application est conçue pour recevoir des signaux, vous pouvez envoyer un signal pour quitter une application afin de créer ce qu'on appelle un vidage de mémoire. Les vidages mémoire contiennent toutes les données actuelles sur un programme en cours d'exécution. Ceux-ci sont essentiels pour dépanner les applications qui se bloquent constamment. Sur Mac, ces vidages au format de fichier Mach-O, que vous pouvez lire dans l'environnement de développement macOS appelé Xcode. La plupart des utilisateurs n'en feront probablement pas grand-chose, mais si vous êtes frustré par un problème d'application, ils peuvent être utiles à envoyer à un développeur pour obtenir de l'aide.

Il y a un autre petit peu d'informatique classique montrant ses racines ici. Le format de fichier Mach-O partage son nom avec le micro-noyau Mach. Avec BSD, cela fait partie des racines de macOS, et les deux font partie du noyau fondateur, XNU. Mach n'est pas aussi riche que BSD, donc il ne reçoit pas beaucoup de presse, mais fait partie de ce qui distingue le système d'exploitation d'Apple des autres variantes Unix.

Alors, comment puis-je les utiliser?

Nous y sommes tous déjà allés: vous obtenez un mettre à jour une application ou télécharger une nouvelle application Comment installer et supprimer des logiciels Mac: 5 méthodes simplesVous êtes passé à un Mac et vous familiarisez avec les bases? Vous vous demandez comment installer un logiciel à partir de la ligne de commande? Vous avez de vieilles applications Windows que vous devez simplement exécuter sur votre ordinateur Apple? Lire la suite et il se bloque chaque fois que vous l'ouvrez. Vous ouvrez Forcer à quitterdans le menu Apple et voyez que l'application apparaît comme Ne répond pas. Pire encore, c'est un processus d'arrière-plan qui fait glisser votre système vers le bas.

Moniteur d'activité

Ouvert Moniteur d'activité et cliquez sur le processus qui ne répond pas. Allez ensuite sur le Vue menu et sélectionnez Envoyer un signal au processus. Un menu apparaîtra et vous permettra de choisir le signal à envoyer au processus sélectionnez votre signal et appuyez sur Envoyer.

Si vous préférez le terminal 4 choses sympas que vous pouvez faire avec le terminal MacLe terminal est l'analogue Mac OS X de l'invite de commande Windows ou CMD. C'est un outil, comme vous le savez probablement déjà, qui vous permet de contrôler votre ordinateur à l'aide de commandes texte, par opposition ... Lire la suite , vous utiliserez une commande que vous connaissez déjà. le tuer est utilisée pour arrêter un processus. Si vous ajoutez -s vous pouvez ajouter un nombre pour envoyer un signal au processus que vous tuez. Voici une liste du nombre de commandes courantes dans la liste tuer page de manuel:

  • 1 - HUP (raccrocher)
  • 2 - INT (interruption)
  • 3 - QUITTER (quitter)
  • 6 - ABRT (abandon)
  • 9 - KILL (kill non capturable, non ignorable)
  • 15 - TERM (signal de terminaison logicielle)

Il y a d'autres signaux que vous pouvez également envoyer, ce sont les plus courants. Il existe une liste complète des codes disponibles ici.

Quand dois-je les utiliser?

Maintenant que vous savez quoi faire avec les signaux POSIX, vous pouvez les utiliser pour arrêter proprement vos processus bloqués. Pour être juste, vous n'utiliserez pas ces codes tous les jours. Lorsque vous travaillez avec un développeur sur un blocage d'application étrange ou lorsque vous aidez votre administrateur système à tester la beta des applications internes de votre entreprise, ces codes peuvent vous aider à obtenir les informations dont ils ont besoin.

Si l'application est codée pour créer ces vidages, vous les trouverez dans le répertoire /cores ce qui en fait un répertoire facile à consulter lors de l'obtention de données pour une application en panne ou bloquée. Vous pouvez vérifier ici et voir quels sont les vidages dans le répertoire en utilisant le ls -a commander. Cela vous montrera tous les fichiers dans ce répertoire, vous pouvez ensuite les copier dans un répertoire plus accessible musique la commande destination du nom de fichier mv.

Dans Terminal Utilisez le commande cd / cores pour basculer vers le répertoire, puis ls -a pour répertorier le contenu. Pour déplacer un fichier vers votre dossier Documents, utilisez simplement mv filename / Users / username / Documents (remplaçant nom de fichier et Nom d'utilisateur).

mackeyboard
Crédit d'image: Erika Varga via Freeimages

Si vous êtes un utilisateur Unix de longue date qui est passé au Mac, quelles sont les autres fonctionnalités peu connues? Si vous souhaitez consulter un projet qui utilise uniquement le fondation open source de macOS consultez PureDarwin. Faites-nous savoir comment cela a fonctionné dans les commentaires. Nous aimerions également savoir quand les signaux POSIX ont résolu un problème tenace avec votre Mac.

Avez-vous déjà utilisé des signaux POSIX pour le dépannage?

Crédits image: Dean Drobot / Shutterstock

Michael n'a pas utilisé de Mac lorsqu'ils étaient condamnés, mais il peut coder en Applescript. Il est diplômé en informatique et en anglais; il écrit sur Mac, iOS et les jeux vidéo depuis un moment maintenant; et il est un singe informatique de jour depuis plus d'une décennie, spécialisé dans les scripts et la virtualisation.