특정 프로세스에 대해 보고할 수 있기를 원하기 때문에 "accton"(psacct-6.3.2-63.el6_3.3.x86_64 패키지)을 켰습니다(그래서 psacct 파일을 가져와서 가져오는 스크립트를 작성했습니다). 내가 원하는 정보).
내가 알 수 없는 것은 상위 및 하위 프로세스와 관련하여 분기된 프로세스 시간을 처리하는 방법입니다.
따라서 질문은 다음과 같습니다.
상위 프로세스가 모든 하위 프로세스와 자체의 누적 시간을 소유합니까? 시스템, 사용자, 경과시간의 관계가 다른가요?
나의 경우에는 아이와 부모가 다루는 시간 사이의 이러한 행동을 이해하는 것이 매우 중요했습니다.
미리 감사드립니다,
세바스찬
답변1
모든 시간은 프로세스별입니다(이전 버전의 Linux에서는 스레드별임). 측정은 프로세스가 포크될 때 시작되고, 모든 실행기로 계속 진행되며, 프로세스가 종료될 때 종료됩니다. 해당 자녀의 시간은 포함되지 않습니다. 자녀가 나갈 때 각 자녀의 기록에서 찾을 수 있습니다. acct_v3 형식을 사용하면 레코드에 pid와 ppid가 포함되므로 이론적으로 프로세스 트리를 재구성하고 계산할 수 있습니다 getrusage(RUSAGE_CHILDREN,...)
.