2009-06-29 3 views
1

그래서 여러 개의 OS가 다중 작업을하고 주어진 순간에 하나의 프로세스를 실행합니다 (단일 코어 머신이라고 가정). 추적/폴링 할 수있는 방법이 있으며 어떤 프로세스가 어떤 시간에 실행되었고 어떤 시간에 대기열에 넣고 다시 검색했는지 찾습니다. 이것에 대한 시스템 호출이 있습니까? 리눅스 커널 소스를 수정하지 않고 이것을 달성 할 수있는 방법이 있는가?주어진 순간에 리눅스가 실행중인 프로세스를 찾는 방법은 무엇입니까?

답변

5

나는 당신에게 lttng이 필요하다고 생각하는데, 그것은 분명히 당신에게 시스템의 작업 전환에 대한 정교한 견해를 제공합니다. Lttng의 커널 부분은 현재의 Linux 커널과 병합되었으며 커널이이 기능을 활성화 한 경우 사용할 수 있습니다. Here은 lttng의 일부 스크린 샷입니다.

+1

의 출력을 볼 수 있었다 원한다면 내 생각이지만

. 고맙습니다. :) –

0

기본적으로이 작업을 수행 할 수 있다고 생각하지 않습니다. AFAIK linux는이 정보에 대한 기록을 보관하지 않습니다.

0

그건 논리적 인 질문입니다. 스크립트/프로세스에서 운영 체제를 쿼리하는 경우 활성 프로그램은 ... 사용자입니다. 당신은 역사 당신이 /proc 디렉토리 또는 내가 찾던이 정확히 ps

+0

그것은 비논리적 인 질문이 아닙니다. 아마도 그것은 잘 형성되지 않았거나 적절하게 배치되지 않았습니다. –

+0

단일 코어를 사용하는 경우 모니터링을 수행하는 모든 프로세스가 바인딩되어 자신이 실행 중임을 알게됩니다. – MarkR

관련 문제