2012-01-27 6 views
0

프로세스 ID가 주어지면 프로세스가 현재 폴링 상태로 차단되었는지 어떻게 알 수 있습니까? 즉, 네거티브 시간 초과로 poll()을 호출하고 입력 준비가 완료 될 때까지 기다리고 있습니다.폴링 상태의 프로세스입니까?

+1

"폴링 상태"란 무엇을 의미합니까? 폴링은 일반적으로 차단과 관련이 없습니다. – Mat

+0

@Mat가 질문을 수정하여 (잘하면) – gcbenison

답변

1

UNIX 계열 시스템의 경우 명령 줄 유틸리티 'ps'가이 정보를 제공합니다. OS에 따라 다양한 ps 옵션이 있으므로 man 페이지를 읽어보십시오.

ps -eo pid,user,cpu,state,comm 

    PID USER  CPU STAT COMM 
    1 root  0 Ss /sbin/launchd 
    15 root  0 Ss /usr/libexec/kextd 
90710 root  0 R+ ps 
83804 joe  0 Ss /bin/bash 
89631 joe  0 S+ ssh 

STAT 프로세스 상태는 다음과 같은 시스템이 BSD (MAC)에서

. S는 중단 가능한 수면을 의미합니다. s (소문자)는 세션 리더를 의미합니다. '+'는 포어 그라운드 프로세스 그룹에 있음을 의미합니다. R은 실행 중이거나 실행 가능 (실행 대기열에서)을 의미합니다. 더 많은 가능한 상태가 있습니다.

+0

Linux에서는 ps -o state가 상태 정보를 제공합니다. thanks – gcbenison

+0

죄송합니다. 질문에 Linux 태그가 표시되지 않았거나 Linux 예제가 표시되었습니다. – joe