Могу ли я получить WCHAN от ps на Mac OS X 10.7.4?

Из руководства кажется, что ps -AO wchan должен сказать мне, что все спит, но все возникает как ps -AO wchannwchan как 0 ). tsleep() ли они старый интерфейс sleep() / tsleep() в ядре, или мне нужно настроить некоторые настройки, чтобы получить информацию?

И если p->p_wchan на самом деле всегда равен нулю в Darwin 11, есть ли другой способ узнать, какие процессы ждут?

EDIT: Действительно, p->p_wchan даже не определен во внутренней struct proc , интерфейс sysctl просто обнуляет поля при экспорте. Есть uu_wchan и uu_wmesg в struct uthread , установленные интерфейсом _sleep и через него с помощью эмулируемой функции tsleep , но я не нашел ничего, чтобы сделать их доступными для userland. ps -MAO wchan не для одного.

(Вся struct uthread кажется очень специфичной для XNU, способ дооснащения интерфейсов FreeBSD на Mach, поэтому мало надежды найти решения из других источников).