2
리눅스 커널은 struct pid를 사용하여 커널 공간에서 PID를 나타냅니다. C 코드는 다음과 같습니다. 멤버 작업을 나타냅니다 "작업 목록"왜커널의 커널 내부 표현을 이해할 수 없다
struct pid
{
atomic_t count;
/* lists of tasks that use this pid */
struct hlist_head tasks[PIDTYPE_MAX];
int level;
struct upid numbers[1];
};
난 정말 이해할 수없는 .Since의 task_struct에이 작업의 커널 내부 표현이며, 하나의 작업은 하나의 task_struct.Why 할 수있는 하나 이상의 작업 공유를 사용 "struct pid"?
넵. 그리고 단지 하나의 "PID"를 가지고있을지라도,'-L' 옵션을 사용하면'ps'에 여러개의 "경량 프로세스 ID"를 볼 수 있습니다 (리눅스에서 올바른 옵션이라고 생각합니다). –
@JohnZwinck "TID"또는 "작업 ID"라고 부를 수 있습니다. –
감사합니다. 좋은 답변입니다. –