리눅스 커널에서 시스템 호출이 어떻게 작동하는지 이해하려고합니다. 내가 가진 한 가지 질문은 시스템 호출을하는 프로세스의 PID를 어떻게 검색 할 수 있는가이다.리눅스에서 어떻게 시스템 호출을하는 프로세스의 PID를 검색합니까?
난 당신이 확인할 수 있습니다 (호출 프로세스의 컨텍스트 인) 시스템 호출 맥락에서
ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos)
나는'getpid()'가 여전히 똑같은 과정이라고 생각해서 작동 할 것이라고 생각한다 ...? – cHao
@cHao 컨텍스트 전환이 발생하면 getpid()를 호출 할 이유가 없습니다. 현재 포인터가 현재 실행중인 컨텍스트의 값으로 변경됩니다 (코어 당). 시스템 호출의 경우 호출 한 프로세스 컨텍스트 . 이것을 확인하면 pid를 얻을 수 있습니다. –
humm .. 커널 모드에서 getpid()가 작동하는지 확실하지 않습니다. 나중에 업데이트 될지 확인하겠습니다. Thx – bneupaane