7 votos

¿Cuál es la diferencia entre arrancar un servicio y arrancar un servicio en un dominio?

En MacOS (Darwin, derivado de 4.4BSD), tienes este ingenioso gestor de procesos llamado launchd controlado por launchctl análogo a systemd y systemctl.

Al ejecutar solo launchctl se obtiene una lista de subcomandos. Entre ellos están bootstrap y load. ¿Cuál es la diferencia entre ellos?

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.

7voto

Noah Nuebling Puntos 302

Apple reescribió launchd en OS X Yosemite (10.10)

Por lo que tengo entendido, añadieron bootstrap | bootout como sustitutos de load | unload . load | unload se encuentran actualmente en la lista de LEGACY SUBCOMMANDS en el manual de launchctl.

La principal diferencia cuando se trata de cargar o descargar un agente/demonio es que bootstrap | bootout le obliga a ser explícito sobre la target domain en el que se cargará el agente/demonio.

Vea este estupendo Entrada en el blog sobre algunos de los cambios en la sintaxis de launchctl en la reescritura de launchd de OS X Yosemite para obtener más detalles sobre todo lo que acabo de mencionar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X