Equivalente al comando “service” de Linux en Mac OS para detener un proceso / servicio en ejecución

0

Quiero detener un controlador en ejecución en Mac OS, luego sobrescribirlo con otra versión y luego reiniciar. Los archivos se sobrescriben en la misma ubicación.

Cuando sobrescribo y reinicio, el nuevo controlador comienza como se esperaba, pero me gustaría poder hacer esto sin reiniciar. Cuando uso "ps -9" para matar los procesos, se inician de nuevo. ¿Existe un comando similar al "servicio" de Linux para controlar dichos procesos?

    
pregunta TenG 22.11.2017 - 08:39

1 respuesta

1

Solo necesito una aclaración sobre tu pregunta. ¿Cómo sabes que esto es un controlador?

El control del proceso generalmente se logra con algunas variaciones del comando launchctl:

enlace

El enlace anterior es bastante bueno para detallar la lista de servicios. Déjame saber si eso ayuda.

El control del controlador es un poco diferente. El controlador equivalente en macOS es una extensión del kernel (kext). ¿Puedes probar lo siguiente?

# get root access
sudo bash -
# Attempt to unload kext
kextload | grep -i DRIVER_NAME

*if found*
kextunload DRIVER_NAME

Esto debería descargar el controlador. Luego puede forzar su reemplazo en / Sistema / Biblioteca / Extensiones o en cualquier directorio en el que se encuentre. Luego haga lo siguiente:

# fix permissions
sudo chmod -R 755 /path/to/name.kext
sudo chown -R root:wheel /path/to/name.kext

# Attempt to load driver
kextload -v DRIVER_NAME

Más información sería clave, pero este es el procedimiento general que seguiría.

¡PROCEDA A SU PROPIO RIESGO!

    
respondido por el DaGr8Gatzby 22.11.2017 - 17:14

Lea otras preguntas en las etiquetas