При интерактивном запуске top я вижу различные слова в столбце состояния:
Некоторые, такие как nanslp или kqread, говорят сами за себя, другие - нет.
Пробовал страницы руководства Mr:
STATE - это текущее состояние (одно из «START», «RUN» (отображается как «CPUn» в системах SMP), «SLEEP», «STOP», «ZOMB», «WAIT», «LOCK») или событие, на котором процесс ожидает), C - номер процессора, на котором выполняется процесс (отображается только в системах SMP)
Пробовали поисковики:
Где я могу получить полный список возможных состояний процесса во FreeBSD 9 и их значения?
Чуть дальше в top
man-страница есть:
If a process is in the "SLEEP" or "LOCK" state, the state column will report the name of the event or lock on which the process is waiting. Lock names are prefixed with an asterisk "*" while sleep events are not
Таким образом, все не заглавные "СОСТОЯНИЕ" без префикса звездочки - это названия событий сна.
Эти метки установлены в ядре FreeBSD, поэтому вам следует найти их значение именно здесь. К сожалению, нет хорошего резюме, так как название события задается sleep
звонки.
Например, где-то в /usr/src/sys/kern/sys_pipe.c
в pipe_read
функция:
error = msleep(rpipe, PIPE_MTX(rpipe), PRIBIO | PCATCH, "piperd", 0);
Или в /usr/src/sys/kern/sys_pipe.c
в kern_nanosleep
функция:
error = tsleep(&nanowait, PWAIT | PCATCH, "nanslp", tvtohz(&tv));