5

Когда я открываю монитор активности, у меня процесс zsh забирает весь мой процессор. Это нормально? У меня установлены iTerm и oh-my-zsh, но я не ожидаю нормального поведения.

Любая идея?

2 ответа2

7

Я тоже много сталкиваюсь с этой проблемой. Она всегда включает в себя installd и самое главное, с installd установка / обновление Apple , приложения, как iWork (IIRC это iWork эксклюзивный, по крайней мере , я еще встретить вхождение с приложением третьей стороной).

Я считаю, что это не имеет ничего общего с iTerm2 или oh-my-zsh (хотя я тоже использую оба). Я считаю, что это проблема совместимости оболочки - скрипт установки Apple вызывает вашу оболочку по умолчанию, возможно

$SHELL -c command...

Он был протестирован на bash но не на zsh , поэтому, когда zsh таким образом, возникают незначительные проблемы совместимости оболочки. Когда вы проверяете нарушающий процесс (Activity Monitor, к сожалению, AFAIK, не показывает вам полные команды; я использую htop для этого, и вы вполне можете использовать ps или что угодно), вы увидите такие вещи, как

zsh -c defaults delete com.apple.helpd com.apple.helpd.sdmMapsCreated

что поддерживает мое предположение (ну, собственно, мое предположение на самом деле было получено из этих наблюдений, если быть точным).* Таким образом, решение состоит в том, чтобы просто запустить команду самостоятельно, в этом случае

defaults delete com.apple.helpd com.apple.helpd.sdmMapsCreated

Тогда вы убиваете оскорбительные процессы. installd автоматически переходит (возможно, к следующему застрявшему процессу, как этот). После нескольких циклов шлифования вы найдете, что установка успешно завершена. Я знаю, что это раздражает, но это единственный способ, который я нашел для работы (надежно).


* Это на самом деле вне меня, как zsh -c застревает на таких вещах как defaults delete . Не уверен, что это с моей средой. (Я поместил GNU coreutils и тому подобное перед BSD в моем PATH, но я уверен, что никогда не ошибся с default .) Может быть, по default внутренне используют утилиты BSD? Но опять же, я могу запустить ту же команду в моем терминале с zsh, в интерактивном или неинтерактивном режиме, просто отлично. Это действительно сбивает с толку (решение выше не влияет). Любой вклад приветствуется.

0

У меня регулярно возникает одна и та же проблема, и она всегда связана с процессом установки, обновлением приложения AppStore. Помогает сначала убить installd, а затем процесс zsh (но отключает функциональность AppStore до тех пор, пока он не будет перезапущен).

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