Alisin ang isang Ahente mula sa launchd
Talaan ng mga Nilalaman:
Hindi na kailangang manu-manong i-tweak ng karamihan ng mga user ng Mac ang launchd at launchctl, ngunit may mga pagkakataon na nag-uninstall ka o huminto sa paggamit ng app sa Mac OS X at patuloy na naglo-load ang isang service agent sa inilunsad. Ito ay nakakainis, ngunit ang mga rogue agent na ito ay madaling tanggalin sa pamamagitan ng command line, kaya ilunsad ang Terminal at umalis na tayo. Bukod pa rito, may mga sitwasyon kung saan maaaring gusto ng mga advanced na user na i-tweak ang mga ahente na na-load sa launchd para sa anumang dahilan.Sa anumang kaso, idedetalye namin kung paano ilista ang mga item sa launchd, kung paano alisin ang mga ito mula sa launchd sa OS X, at kung paano muling i-load ang mga ahente sa launchd sa Mac.
Kakailanganin mong magkaroon ng kaunting pag-unawa at kaginhawaan sa paggamit ng command line at Terminal upang magamit ito nang maayos, na ginagawa itong perpekto para sa mga mas advanced na user na may kaalaman sa mga launch daemon at kung paano subaybayan ang mga ito, na kung minsan, ay isang bagay lamang ng paghahanap ng isa sa Activity Monitor ng Mac OS X, o sa pamamagitan ng paggamit ng launchctl command na tatalakayin natin sa ilang sandali. Kung magpasya kang baligtarin ang pagbabago, maaari mo ring i-load ang serbisyo o daemon pabalik sa launchd gamit ang isa pang command, na epektibong nag-undo sa paunang hakbang sa pag-alis. Tara na:
Pag-alis ng Mga Ahente at Serbisyo ng Paglulunsad mula sa paglunsad sa OS X
Narito ang paano mag-alis ng serbisyo sa launchd. Ilunsad ang Terminal at pagkatapos ay gamitin ang sumusunod na syntax gamit ang launchctl command:
launchctl alisin ang pangalan
Halimbawa, kung gusto kong mag-alis ng serbisyong pinangalanang “com.annoying.service” ang syntax ay:
launchctl alisin ang com.annoying.service
Maaaring kailanganin mong i-prefix ang command gamit ang sudo upang maalis ang serbisyo, sa kasong ito ang command ay:
sudo launchctl remove com.annoying.service
Gamit ang sudo prefix, kakailanganin mong magpasok ng password ng administrator bago isagawa ang command.
Paano Makita Kung Ano ang Nilo-load sa launchd
Maaari mo ring tingnan kung ano ang na-load sa inilunsad sa pamamagitan ng paggamit ng sumusunod na command string:
launchctl list
Inililista ng command na ito ang lahat ng ahente at trabahong na-load sa paglulunsad, na nagbibigay-daan sa iyong madaling manipulahin ang mga ahente na tumatakbo. Dahil naglalabas ito ng isang toneladang impormasyon sa screen nang sabay-sabay, maaaring gusto mong i-pipe ito sa mas marami o mas kaunting mga command tulad nito:
launchctl list |more
Nagbibigay-daan ito sa iyong pindutin ang return key para mas mabagal na mag-navigate sa listahan.
Kung alam mo sa pangkalahatan ang serbisyong hinahanap mo, maaari mo ring gamitin ang “grep” para mahanap ang tumpak na serbisyo ng mga ahente, gamitin natin ang 'mdworker' bilang halimbawa::
launchctl list |grep mdworker
Iuulat lamang nito ang mga sumusunod na launchage:
- 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
Para sa ilang serbisyo, ang pagtatapon sa listahan ay maaari ding magpakita ng PID (process ID) ng aktibong serbisyo.
Paglo-load ng Ahente Bumalik sa launchd
Kung magpasya kang gusto mong muling paganahin at i-reload ang isang serbisyo pabalik sa launchd, gamitin ang flag na 'load' tulad nito:
launchctl load com.example.service.to.load
Ang ilang mga ahente ay maglo-load kaagad nang walang isyu. Para sa iba, maaaring kailanganin mong i-reboot ang Mac bago gumana muli ang na-load na serbisyo tulad ng nilalayon, kahit na kung minsan ay sapat na rin ang pag-log out at pagbalik.