0 votes

Equivalent de la commande "service" de Linux sur Mac OS pour arrêter un processus/service en cours d'exécution.

Je veux arrêter un pilote en cours d'exécution sur Mac OS, le remplacer par une autre version et redémarrer. Les fichiers sont écrasés au même endroit.

Lorsque j'écrase et redémarre, le nouveau pilote démarre comme prévu, mais j'aimerais pouvoir le faire sans redémarrage. Lorsque j'utilise "ps -9" pour tuer les processus, ils redémarrent. Existe-t-il une commande similaire à "service" de Linux pour contrôler ces processus ?

1voto

Caleb Jares Points 1617

J'ai juste besoin d'une clarification sur votre question. Comment savez-vous que c'est un conducteur ?

Le contrôle du processus est généralement réalisé avec une variation de la commande launchctl :

https://support.apple.com/en-hk/guide/terminal/script-management-with-launchd-apdc6c1077b-5d5d-4d35-9c19-60f2397b2369/mac

Le lien ci-dessus détaille assez bien la liste des services. Faites-moi savoir si cela vous aide.

Le contrôle du conducteur est un peu différent. L'équivalent du pilote sous MacOS est une extension du noyau (kext). Pouvez-vous essayer ce qui suit ?

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

*if found*
kextunload DRIVER_NAME

Cela devrait décharger le conducteur. Vous pouvez alors forcer son remplacement dans /System/Library/Extensions ou tout autre répertoire dans lequel il réside. Ensuite, faites ce qui suit :

# 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

Des informations supplémentaires seraient essentielles, mais c'est la procédure générale que je suivrais.

PROCÉDEZ À VOS PROPRES RISQUES !

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