Eliminar un agent del launchd

Taula de continguts:

Anonim

La gran majoria dels usuaris de Mac no hauran de modificar manualment launchd i launchctl, però hi ha moments en què desinstal·leu o deixeu d'utilitzar una aplicació a Mac OS X i un agent de servei continua carregant-se innecessàriament. llançat. Això és molest, però aquests agents canalla són fàcils d'eliminar mitjançant la línia d'ordres, així que inicieu Terminal i marxem. A més, hi ha situacions en què els usuaris avançats poden voler ajustar els agents carregats a launchd per qualsevol motiu.En qualsevol cas, detallarem com llistar elements a launchd, com eliminar-los de launchd a OS X i també com tornar a carregar agents a launchd al Mac.

Haureu de tenir una certa comprensió i comoditat d'utilitzar la línia d'ordres i el terminal per utilitzar-ho correctament, cosa que fa que sigui ideal per als usuaris més avançats que tinguin coneixements sobre els dimonis de llançament i com rastrejar-los. que, de vegades, només és qüestió de trobar-ne un al Monitor d'activitat de Mac OS X, o fent servir l'ordre launchctl que parlarem en breu. Si decidiu revertir la modificació, també podeu tornar a carregar el servei o el dimoni a launchd mitjançant una altra ordre, que desfà efectivament el pas d'eliminació inicial. Anem-hi:

Eliminació d'agents i serveis de llançament del llançament a OS X

Aquí teniu com eliminar un servei del llançament. Inicieu Terminal i, a continuació, utilitzeu la sintaxi següent amb l'ordre launchctl:

launchctl elimina el nom

Per exemple, si vull eliminar un servei anomenat “com.annoying.service” la sintaxi seria:

launchctl elimina com.annoying.service

És possible que hàgiu de prefixar l'ordre amb sudo per eliminar el servei, en aquest cas l'ordre seria:

sudo launchctl remove com.annoying.service

Amb el prefix sudo hauràs d'introduir una contrasenya d'administrador abans que s'executi l'ordre.

Com veure què es carrega a launchd

També podeu comprovar què s'ha carregat a launchd mitjançant la següent cadena d'ordres:

launchctl list

Aquesta comanda enumera tots els agents i treballs carregats a launchd, la qual cosa us permet manipular fàcilment els agents que s'estan executant. Com que aboca un munt d'informació a la pantalla alhora, és possible que vulgueu canalitzar-la a través de les ordres més o menys com aquestes:

launchctl list |més

Això us permet prémer la tecla de retorn per navegar més lentament per la llista.

Si coneixeu generalment el servei que busqueu, també podeu utilitzar “grep” per trobar el servei d'agents precís, utilitzem 'mdworker' com a exemple::

launchctl list |grep mdworker

Això només informaria dels agents de llançament següents:

- 0 com.apple.mdworker.sizing - 0 com.apple.mdworker.single - 0 com.apple.mdworker.shared - 0 com.apple.mdworker. .mail - 0 com.apple.mdworker.lsb - 0 com.apple.mdworker.isolation - 0 com.apple.mdworker.bundles - 0 com.apple.mdworker.32bit

Per a alguns serveis, el buidatge de la llista també pot mostrar el PID (ID de procés) del servei actiu.

Tornar a carregar un agent a launchd

Si decidiu que voleu tornar a habilitar i tornar a carregar un servei a launchd, utilitzeu el senyalador "carrega" així:

launchctl load com.example.service.to.load

Alguns agents es carregaran a l'instant sense cap problema. Per a d' altres, és possible que hàgiu de reiniciar el Mac abans que el servei carregat torni a funcionar com s'ha previst, tot i que de vegades també n'hi ha prou amb tancar la sessió i tornar a iniciar-se.

Eliminar un agent del launchd