Posso obter o WCHAN do ps no Mac OS X 10.7.4?

3

No manual, parece que ps -AO wchan deveria me dizer em que tudo está dormindo, mas tudo aparece como - . (E nwchan como 0 ). Eles eliminaram a antiga interface sleep() / tsleep() no kernel, ou eu preciso ajustar algumas configurações para obter as informações?

E se p->p_wchan for realmente zero em Darwin 11, existe outra maneira de descobrir quais processos estão esperando?

EDIT: Na verdade, p->p_wchan não está nem definido no struct proc interno, a interface sysctl zera os campos ao exportar. Há uu_wchan e uu_wmesg membros em struct uthread , definidos pela interface _sleep e por meio da função emulated tsleep , mas não encontrei nada para disponibilizá-los para o usuário. ps -MAO wchan não, por um.

(A coisa toda do struct uthread parece ser muito específica do XNU, uma maneira de atualizar as interfaces do FreeBSD no Mach, então há pouca esperança de encontrar soluções de outro lugar).

    
por LHMathies 02.10.2012 / 12:35

0 respostas