매뉴얼에서는 ps -AO wchan
모든 것이 잠자기 상태라고 말해야 할 것 같지만 모든 것이 -
. 커널에서 이전 /interface를 더 이상 사용하지 않습니까? 아니면 정보를 얻으려면 일부 설정을 조정해야 합니까?nwchan
0
sleep()
tsleep()
p->p_wchan
Darwin 11에서 실제로 항상 0 인 경우 어떤 프로세스가 기다리고 있는지 알아내는 다른 방법이 있습니까?
편집: 실제로 p->p_wchan
내부적으로 정의되지도 않았으며 struct proc
인터페이스 sysctl
는 내보내기 시 필드를 0으로 만듭니다. 에는 인터페이스에 의해 설정되고 모의 함수를 통해 설정되는 uu_wchan
및 uu_wmesg
멤버가 있지만 이러한 멤버를 사용자 공간에서 사용할 수 있게 만드는 항목을 찾지 못했습니다. 한편으로는 그렇지 않습니다.struct uthread
_sleep
tsleep
ps -MAO wchan
(모든 struct uthread
것은 FreeBSD 인터페이스를 Mach에 개조하는 방법인 XNU에 특정한 것으로 보이므로 다른 곳에서 해결책을 찾을 가능성이 거의 없습니다).