Какво е launchd и защо работи на моя Mac?
Вие превъртате през Activity Monitor, когато забележите, че не сте запознати с: launchd. Трябва ли да се притеснявате? Не: това всъщност е основна част на macOS.
Тази статия е част от текущата ни серия, в която се описват различни процеси, открити в Activity Monitor, като kernel_task, hidd, mdsworker, installd, WindowServer, blued и много други. Не знаете какви са тези услуги? По-добре започнете да четете!
Този конкретен процес, launchd, е рамката за управление на услугите, използвана от macOS, подобно по някакъв начин на Service Control Manager на Windows или systemd на много дистрибуции на Linux. „Услугата“ е нещо, което работи във фонов режим; на macOS те обикновено се наричат демони и обикновено имат имена, завършващи с буквата “d”. Повечето неща, които вашият Mac прави - свързва се към мрежи, показва неща на дисплея и архивира вашите файлове - се извършва от демон на някои ниво.
Когато включите вашия Mac, launchd е едно от първите стартирани неща след ядрото. Ето защо launchd има идентификатор на процес, или PID, на 1, на всяка система Mac.
Единственото по-ниско число е 0, което принадлежи на ядрото, представено тук като kernel_task.
След стартирането, launchd продължава да стартира всички други демони, от които се нуждае Mac, за да се стартира. След като стартирате Mac, launchd продължава да работи във фонов режим, за да провери дали демоните все още се изпълняват, и да стартира всички необходими демони по-късно, за да изпълняват различните ви програми.
Много рядко за стартирането е да заемат много системни ресурси, а когато това се случи, рестартирането на вашия Mac обикновено е достатъчно, за да го поправите. Понякога бъги програма, която се опитва да стартира дефектни демони, може да доведе до изстрелване на куп CPU. Ако наскоро сте инсталирали нещо, опитайте да го премахнете и вижте дали помага.
В по-голямата си част, launchd не е нещо, за което потребителите трябва да мислят, но е възможно да се свържете с него директно, благодарение на launchctl, Termianl инструмент за взаимодействие с launcd. Тип списък на launchctl
и ще видите списък на всяка фонова услуга, която в момента се изпълнява на вашия Mac.
Общуването с това много повече не е добра идея, освен ако не сте много напреднал потребител, но всеки може да напише launchctl помощ
за списък с потенциални подкоманди или за четене на този урок за напреднали стартиране.