11

Если есть приложение, которое запускается само по себе, какими будут наиболее эффективные места для его поиска? У кого-нибудь есть хороший исчерпывающий список того, где проверять элементы запуска, элементы входа, хуки входа, Cron, расширения ядра и т.д.

На данный момент я забываю, где находится половина этих папок /plist-файлов. Я надеюсь, что у кого-то есть чит-лист, которым они могут поделиться.

В основном я ищу список наиболее распространенных мест, где Mac OS запускает приложения или скрипты автоматически (например, при входе в систему, по расписанию и т.д.)

2 ответа2

17

Приложения, которые запускаются при запуске:

/Library/StartupItems - Стандартные элементы запуска находятся здесь

sudo launchctl list или посмотрите /Library/LaunchDaemons и /System/Library/LaunchDaemons для запуска списков запуска, которые настроены для запуска без обязательного входа в систему. Примечание. Некоторые файлы .plist в указанных папках не отображаются в launchctl list поскольку они не загружены для запуска.

Приложения, которые запускаются при входе в систему:

Проверьте элементы входа в систему, перейдя на панель настроек учетных записей в системных настройках.

Посмотрите ~/Library/LaunchAgents , /Library/LaunchAgents/ и /System/Library/LaunchAgents для launchd .plists, которые запускаются, когда пользователь вошел в систему - вы можете использовать sudo launchctl list чтобы увидеть, какие из них загружены.

Приложения, работающие по расписанию:

В терминале: crontab -e покажет, что было запланировано с помощью cron для запуска элементов в определенное время. Элементы в любой из папок LaunchAgents или LaunchDaemons могут быть настроены на выполнение с интервалами, а также определены в их файле .plist

Расширения ядра

Чтобы увидеть, какие расширения ядра загружены, вы можете либо использовать Applications/Utilites/System Profiler.app (можно быстро открыть, удерживая опцию, нажав в меню Apple - Об этом Mac ... меняется на System Profiler ... в 10.5+)

В качестве альтернативы вы можете запустить kextstat в командной строке.

Крючки для входа / выхода

Чтобы узнать, установлен ли Хук входа в систему или выхода из системы и найти файл сценария, вы можете выполнить следующую команду:

defaults read com.apple.loginwindow LoginHook и по defaults read com.apple.loginwindow LogoutHook

или получить оба одновременно:

/usr/libexec/PlistBuddy -c Print /var/root/Library/Preferences/com.apple.loginwindow.plist | grep 'Hook'

2

Некоторые вещи могут быть найдены в параметрах запуска пользователя, как указано loxp, но не все.

Некоторые вещи настроены на запуск с помощью launchd в разное время. Вы можете просмотреть файловую систему, чтобы выяснить, что запускается (я забыл точные пути), или взять Lingon и посмотреть, что он перечисляет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .