Quando apro il mio monitor attività, ho un processo zsh che prende tutta la mia CPU. È normale? Ho iTerm e oh-my-zsh installati ma non mi aspetto un comportamento normale.
Qualche idea?
Quando apro il mio monitor attività, ho un processo zsh che prende tutta la mia CPU. È normale? Ho iTerm e oh-my-zsh installati ma non mi aspetto un comportamento normale.
Qualche idea?
Risposte:
Anche io incontro questo problema. Implica sempre installd, e soprattutto, l' installdinstallazione / l'aggiornamento di app Apple, come iWork (IIRC è esclusiva di iWork; almeno devo ancora imbattermi in un'app di terze parti).
Credo che non abbia nulla a che fare con iTerm2 o oh-my-zsh (anche se io uso entrambi). Quello che credo è che questo è un problema di compatibilità della shell - lo script di installazione di Apple chiama probabilmente la shell predefinita
$SHELL -c command...
È stato testato bashma non zsh, quindi quando zshviene chiamato in questo modo, sorgono sottili problemi di compatibilità della shell. Quando controlli il processo offensivo (purtroppo Activity Monitor, AFAIK, non ti mostra i comandi completi; io lo uso htopper questo e potresti usare pso altro), vedrai cose come
zsh -c defaults delete com.apple.helpd com.apple.helpd.sdmMapsCreated
che sostiene la mia ipotesi (beh, la mia ipotesi è stata effettivamente derivata da queste osservazioni, per essere precisi). * Pertanto, la soluzione è semplicemente eseguire il comando da soli, in questo caso
defaults delete com.apple.helpd com.apple.helpd.sdmMapsCreated
Quindi uccidi i processi offensivi. installdpassa automaticamente (probabilmente al prossimo processo bloccato come questo). Dopo più turni di rettifica, l'installazione verrà completata correttamente. So che questo è fastidioso, ma questo è l'unico modo in cui ho scoperto di funzionare (in modo affidabile).
* In realtà è al di là di me come zsh -crimane bloccato su cose come defaults delete. Non sono sicuro se è con il mio ambiente. (Ho messo i coreutils GNU e simili di fronte alle cose di BSD nel mio PERCORSO, ma sono abbastanza sicuro di non aver mai fatto casini default.) Forse defaultusi internamente i programmi di utilità BSD? Ma ancora una volta, posso eseguire lo stesso comando nel mio terminale con zsh, in modo interattivo o non interattivo, bene. Questo è davvero sconcertante (la soluzione sopra non è interessata). Qualsiasi input è il benvenuto.
psstrumento standard , esegui semplicemente ps uaxwww | grep zsh: 1. controlla cosa sta controllando la CPU; 2. eseguirlo manualmente; 3. uccidere il processo; 4. ripeti
-canalisi di compatibilità suona bene, anche se non riesco a capire perché sia rimasto bloccato, invece di fallire e tornare. Sto provando a riprodurlo da solo. Da dove hai installato i coreutils GNU? E per caso stai usando un Homebrew o altri non predefiniti zsh?