6 votes

Que fait réellement launchctl unload ?

En cours d'exécution launchctl unload some.plist En quoi cette commande est-elle traduite spécifiquement, en termes de commandes UNIX, etc.

Il n'y a rien dans .plist qui spécifie une "ligne de commande à exécuter lorsque l'utilisateur spécifie décharger", alors MacOS envoie-t-il simplement un kill signal dans le processus ? Ou que fait-il ?

2voto

adamxweb Points 510

Pour répondre au mieux à cette question, nous pouvons examiner deux éléments : Les commandes UNIX et le contenu d'une .plist.

En partant d'un fichier .plist, le code suivant s'y trouve généralement

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleExecutable</key>
  <string>someApplication</string>
</dict>
</plist>

Les CFBundleExecutable identifie le nom du fichier exécutable principal de l'ensemble. Pour une application, il s'agit de l'exécutable de l'application. Pour un bundle chargeable, il s'agit du binaire qui sera chargé dynamiquement par le bundle.

Tapez donc launchctl unload some.plist indique à MacOS la clé permettant de localiser le fichier exécutable de l'offre groupée et de le "décharger", c'est-à-dire de le supprimer du système. Il s'agit de l'expliquer au niveau de l'application .

Lors de l'utilisation d'une commande UNIX telle que kill <PID> il s'agit d'une référence à un processus spécifique.

Examiner ce qu'est un processus par rapport à une application aquí est une bonne lecture

Pour en savoir plus sur le contenu des .plists et leur fonctionnement, consultez le site suivant Apple

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X