Qual é a diferença entre inicializar um serviço e inicializar um serviço em um domínio?

1

No macOS (Darwin, derivado do 4.4BSD), você tem esse gerenciador de processos bacana chamado launchd controlado por launchctl analog to systemd e systemctl.

Executar o launchctl sozinho produz uma lista de subcomandos. Entre eles estão bootstrap e carga. Qual é a (s) diferença (s) entre eles?

Subcommands:
    bootstrap       Bootstraps a domain or a service into a domain.
    bootout         Tears down a domain or removes a service from a domain.
    enable          Enables an existing service.
    disable         Disables an existing service.
    uncache         Removes the specified service name from the service cache.
    kickstart       Forces an existing service to start.
    attach          Attach the system's debugger to a service.
    debug           Configures the next invocation of a service for debugging.
    kill            Sends a signal to the service instance.
    blame           Prints the reason a service is running.
    print           Prints a description of a domain or service.
    print-cache     Prints information about the service cache.
    print-disabled  Prints which services are disabled.
    plist           Prints a property list embedded in a binary (targets the Info.plist by default).
    procinfo        Prints port information about a process.
    hostinfo        Prints port information about the host.
    resolveport     Resolves a port name from a process to an endpoint in launchd.
    limit           Reads or modifies launchd's resource limits.
    runstats        Prints performance statistics for a service.
    examine         Runs the specified analysis tool against launchd in a non-reentrant manner.
    config          Modifies persistent configuration parameters for launchd domains.
    dumpstate       Dumps launchd state to stdout.
    dumpjpcategory  Dumps the jetsam properties category for all services.
    reboot          Initiates a system reboot of the specified type.
    bootshell       Brings the system up from single-user mode with a console shell.
    load            Bootstraps a service or directory of services.
    unload          Unloads a service or directory of services.
    remove          Unloads the specified service name.
    list            Lists information about services.
    start           Starts the specified service.
    stop            Stops the specified service if it is running.
    setenv          Sets the specified environment variables for all services within the domain.
    unsetenv        Unsets the specified environment variables for all services within the domain.
    getenv          Gets the value of an environment variable from within launchd.
    bsexec          Execute a program in another process' bootstrap context.
    asuser          Execute a program in the bootstrap context of a given user.
    submit          Submit a basic job from the command line.
    managerpid      Prints the PID of the launchd controlling the session.
    manageruid      Prints the UID of the current launchd session.
    managername     Prints the name of the current launchd session.
    error           Prints a description of an error.
    variant         Prints the launchd variant.
    version         Prints the launchd version.
    help            Prints the usage for a given subcommand.
Jonathan Komar
fonte
Você leu a página do manual para launchctl? No terminal: man launchctl
user3439894
@ user3439894 Claro! Isso nao esta claro. Assume que tenho mais conhecimento do que atualmente.
Jonathan Komar

Respostas:

2

Apple reescreveu o launchd no OS X Yosemite (10.10)

Tanto quanto eu entendo, eles adicionaram bootstrap | bootout como substitutos para load | unload. load | unload estão listados atualmente sob LEGACY SUBCOMMANDS no manual launchctl.

A principal diferença quando você está apenas tentando carregar ou descarregar um agente / daemon é que bootstrap | bootout obriga a ser explícito sobre o target domain que o agente / daemon será carregado.

Confira esta ótima Postagem do blog sobre algumas das mudanças na sintaxe launchctl no OS X Yosemite readd rewrite para mais detalhes sobre tudo que eu acabei de mencionar.

Yer Bum
fonte