Sur macOS (Darwin, dérivé de 4.4BSD), vous avez ce gestionnaire de processus astucieux appelé launchd contrôlé par launchctl, analogique à systemd et systemctl.
Exécuter launchctl seul vous donne une liste de sous-commandes. Parmi elles se trouvent bootstrap et load. Quelle est/sont la/les différence(s) entre eux ?
Sous-commandes :
bootstrap Amorce un domaine ou un service dans un domaine.
bootout Détruit un domaine ou supprime un service d'un domaine.
enable Active un service existant.
disable Désactive un service existant.
uncache Supprime le nom de service spécifié du cache des services.
kickstart Force le démarrage d'un service existant.
attach Attache le débogueur du système à un service.
debug Configure la prochaine invocation d'un service pour le débogage.
kill Envoie un signal à l'instance de service.
blame Affiche la raison pour laquelle un service est en cours d'exécution.
print Affiche une description d'un domaine ou d'un service.
print-cache Affiche des informations sur le cache des services.
print-disabled Affiche quels services sont désactivés.
plist Affiche une liste de propriétés intégrée à un binaire (vise par défaut le Info.plist).
procinfo Affiche des informations de port sur un processus.
hostinfo Affiche des informations de port sur l'hôte.
resolveport Résout un nom de port d'un processus à un point de terminaison dans launchd.
limit Lit ou modifie les limites de ressources de launchd.
runstats Affiche des statistiques de performance pour un service.
examine Exécute l'outil d'analyse spécifié contre launchd de manière non réentrant.
config Modifie les paramètres de configuration persistants pour les domaines launchd.
dumpstate Bascule l'état de launchd sur stdout.
dumpjpcategory Bascule les propriétés de jetsam des catégories pour tous les services.
reboot Lance un redémarrage du système du type spécifié.
bootshell Relève le système du mode utilisateur unique avec un shell de console.
load Amorce un service ou un répertoire de services.
unload Décharge un service ou un répertoire de services.
remove Décharge le nom de service spécifié.
list Affiche des informations sur les services.
start Démarre le service spécifié.
stop Arrête le service spécifié s'il est en cours d'exécution.
setenv Définit les variables d'environnement spécifiées pour tous les services dans le domaine.
unsetenv Annule la valeur des variables d'environnement spécifiées pour tous les services dans le domaine.
getenv Obtient la valeur d'une variable d'environnement depuis launchd.
bsexec Exécute un programme dans le contexte d'amorce d'un autre processus.
asuser Exécute un programme dans le contexte d'amorce d'un utilisateur donné.
submit Soumet un travail de base à partir de la ligne de commande.
managerpid Affiche l'ID du processus de lancement contrôlant la session.
manageruid Affiche l'UID de la session de lancement actuelle.
managername Affiche le nom de la session de lancement actuelle.
error Affiche une description d'une erreur.
variant Affiche la variante de launchd.
version Affiche la version de launchd.
help Affiche l'utilisation pour une sous-commande donnée.