응용 프로그램 프로세스가 XPC 도우미 프로세스를 시작하면 실제로는 고전적인 UNIX 스타일에서 fork()/exec() 자체를 수행하지 않습니다. 대신 launchd에 메시지를 보내면 더러운 일을합니다. 따라서 XPC 프로세스에서 상위 프로세스를 쿼리하면 실행 프로세스로 돌아옵니다.OSX Activity Monitor는 XPC 작업을 이니시에이터 프로세스와 어떻게 일치합니까?
그러나 계층 프로세스보기에서 열려 활동 모니터의 XPC 도우미 프로세스는 모든 예를 들어, 그들에게 요청한 원래 응용 프로그램 아래에 표시하는 경우 : 난 소프트웨어에서
작업 과정에서 이러한 관계를 아는 것이 매우 유용 할 것입니다. 지금까지 우리는 정규 BSD 부모 프로세스 정보를 사용 해왔다. 그러나 모든 것이 XPC로 옮겨 감에 따라, 이것은 더 이상 쓸모가 없다.
그래서 :
- 경우 XPC 프로세스에 저장된 "원래"부모 프로세스 정보가?
- 액티비티 모니터는 어떻게 액티비티에 액세스합니까?
kext가 관련되어 있으므로이 정보를 사용자 공간이 아닌 커널에서 직접 가져올 수는 있지만, 저장 위치를 파악할 수는 없습니다.
업데이트 : 애플의 다윈 커널 메일 링리스트에 토론 : http://lists.apple.com/archives/darwin-kernel/2015/Mar/msg00001.html
+1이 사이트에 흥미로운 질문이 한번 있습니다. – trojanfoe
나는 이것을 해결하려고 노력해왔다! – TheDarkKnight