Di solito non c'è alcuna correlazione tra un processo bloccato di top
e un'applicazione non rispondente:
-
bloccato significa che il processo è attualmente non interrompibile, che di solito è il caso se il processo è in attesa di lettura di un disco o di un blocco dati di rete (o altro materiale di basso livello simile). Tecnicamente parlando il processo è in esecuzione nello spazio del kernel (noto anche come kernel Unix) e non può essere interrotto (quindi anche un
kill -9
non avrebbe alcun impatto). Di solito questi bloccati indicano solo gli ultimi millisecondi (come si può vedere anche in top
perché il numero di processi bloccati cambia ad ogni ciclo di visualizzazione).
-
le applicazioni non rispondenti possono essere troppo impegnate a rispondere a qualsiasi evento che OS X lancia su di loro.
Vedo una situazione in cui un processo bloccato corrisponde a un'applicazione non rispondente: un processo può essere bloccato per un tempo molto lungo, forse bloccato all'infinito, senza alcuna possibilità di ucciderlo. Questo di solito è il risultato di un errore di programmazione, ad es. disconnessione impropria da un dispositivo in rete, quindi il kernel continua a cercare di leggerlo. In casi come questo anche una terminazione forzata non rimuoverà il processo.