함수는 프로세스별 속성인가요, 아니면 스레드별 속성인가요?

함수는 프로세스별 속성인가요, 아니면 스레드별 속성인가요?

문서해당 기능은 각 스레드의 속성입니다. 실제로 어떤 경우에도

/proc/[PID]/task/[LWP]/status

이 스레드와 관련된 기능을 찾을 수 있습니다.

CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000

그러나 그 동안 기능에 대한 유사한 정보는 다음 위치에 있습니다.

/proc/[PID]/status

물론 프로세스에는 고유한 기능이 있습니다. 이것은 나를 혼란스럽게 합니다. 능력 속성이 프로세스입니까, 아니면 스레드입니까? 기능이 필요한 일부 명령을 실행할 때 커널은 어떤 세트를 확인합니까?

답변1

기능은 실제로 스레드별로 이루어지며 스레드는 다음을 사용하여 자체 기능(현재 기능이 허용하는 경우)을 변경할 수 있습니다.capset다른 기존 스레드의 기능에 영향을 주지 않고.

/proc/[PID]/statuspid와 일치하는 스레드, 더 정확하게는 스레드 그룹 ID(Linux의 프로세스 ID)와 일치하는 스레드를 표시하는 기능입니다.

커널은 항상 관련 스레드의 기능을 확인합니다.

관련 정보