1
처음에는 OS X/macOS 용 커널 모듈에서 getpid()
을 사용하려고했는데 커널에서 kext가 실행되는 프로세스의 PID (프로세스 ID)를 가져 오는 방법이 있습니까? 사용할 수있는 기존 함수 또는 변수가 있습니까?Mac 커널 확장 코드에서 현재 프로세스 ID를 어떻게 얻습니까?
처음에는 OS X/macOS 용 커널 모듈에서 getpid()
을 사용하려고했는데 커널에서 kext가 실행되는 프로세스의 PID (프로세스 ID)를 가져 오는 방법이 있습니까? 사용할 수있는 기존 함수 또는 변수가 있습니까?Mac 커널 확장 코드에서 현재 프로세스 ID를 어떻게 얻습니까?
현재 실행중인 커널 스레드가 연결된 프로세스의 PID를 가져 오려면 proc_selfpid()
function을 호출하십시오. 프로토 타입을 얻으려면 kext 코드에 #include <sys/proc.h>
이 필요합니다. PID는 시스템 콜에 대한 일종의 콜백 컨텍스트에서 코드가 실행되고있는 경우에만 물론 사용자 프로세스에 해당합니다.
https://stackoverflow.com/questions/41676/is-there-a-way-of-getting-the-process-id-of-my-c-application을 참조하십시오. 그것은 unistd.h에서 사용 가능합니다. – mattias
@AndrewHenle 왜 내가 당신이 이미 이것을 게시하고 도서관에 너무 많이 파 묻을 것이라고 생각합니까? #facepalm – Anurag
[Google에서 "getpid() on mac"] (https://www.google. com/search? q = getpid() + on + mac)는 맨 처음의 결과 [Mac'getpid (2)'맨 페이지]를 반환합니다. (http://www.manpages.info/macosx/getpid.2.html) 당신의 질문에'#include'과'#include '이 둘 다 필요하다는 것을 분명하게 알려줍니다. #facepalm 참으로. –