Eliminați un agent din lansare
Cuprins:
Marea majoritate a utilizatorilor de Mac nu va trebui să modifice manual launchd și launchctl, dar există momente când dezinstalați sau opriți utilizarea unei aplicații în Mac OS X și un agent de service continuă să se încarce inutil. lansatd. Acest lucru este enervant, dar acești agenți necinstiți sunt ușor de eliminat prin linia de comandă, așa că lansați Terminalul și plecăm. În plus, există situații în care utilizatorii avansați pot dori să modifice agenții încărcați în launchd, indiferent de motiv.În orice caz, vom detalia cum să enumerați elementele în launchd, cum să le eliminați din launchd în OS X și, de asemenea, cum să reîncărcați agenții în launchd pe Mac.
Va trebui să înțelegeți și să fiți confortabil în utilizarea liniei de comandă și a terminalului pentru a utiliza acest lucru în mod corespunzător, ceea ce face acest lucru ideal pentru utilizatorii mai avansați care au cunoștințe despre demonii de lansare și despre cum să-i depistați, care, uneori, este doar o chestiune de a găsi unul în Monitorul de activitate al Mac OS X sau folosind comanda launchctl pe care o vom discuta în scurt timp. Dacă decideți să inversați modificarea, puteți încărca serviciul sau demonul înapoi în launchd folosind o altă comandă, care anulează efectiv pasul inițial de eliminare. Să trecem la asta:
Eliminarea agenților și serviciilor de lansare din lansarea în OS X
Iată cum să eliminați un serviciu din lansare. Lansați Terminal și apoi utilizați următoarea sintaxă cu comanda launchctl:
launchctl șterge numele
De exemplu, dacă vreau să elimin un serviciu numit „com.annoying.service”, sintaxa ar fi:
launchctl remove com.annoying.service
Este posibil să fie nevoie să prefixați comanda cu sudo pentru a elimina serviciul, în acest caz comanda ar fi:
sudo launchctl remove com.annoying.service
Cu prefixul sudo, va trebui să introduceți o parolă de administrator înainte ca comanda să se execute.
Cum să vezi ce este încărcat în launchd
De asemenea, puteți verifica ce este încărcat în launchd folosind următorul șir de comandă:
launchctl list
Această comandă listează toți agenții și joburile încărcate în launchd, permițându-vă să manipulați cu ușurință agenții care rulează. Deoarece aruncă o mulțime de informații pe ecran deodată, poate doriți să le transmiteți prin mai mult sau mai puține comenzi de genul:
launchctl list |mai multe
Acest lucru vă permite să apăsați tasta de întoarcere pentru a naviga mai încet prin listă.
Dacă cunoașteți în general serviciul pe care îl căutați, puteți folosi și „grep” pentru a găsi serviciul exact de agenți, să folosim „mdworker” ca exemplu::
launchctl list |grep mdworker
Acest lucru ar raporta doar următorii agenți de lansare:
- 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
Pentru unele servicii, eliminarea listei poate afișa, de asemenea, PID-ul (ID-ul procesului) al serviciului activ.
Încărcarea unui agent înapoi în launchd
Dacă decideți că doriți să reactivați și să reîncărcați un serviciu înapoi în launchd, utilizați marcajul „încărcare” astfel:
launchctl load com.example.service.to.load
Unii agenți se vor încărca instantaneu fără probleme. Pentru alții, poate fi necesar să reporniți Mac-ul înainte ca serviciul încărcat să funcționeze din nou conform intenției, deși uneori deconectarea și reconectarea este suficientă, de asemenea.