프로세스의 통신 값은 프로세스 이름의 마지막 15자에서 나오는데 스레드의 통신 값은 처음 15자에서 나오는 이유는 무엇입니까?

프로세스의 통신 값은 프로세스 이름의 마지막 15자에서 나오는데 스레드의 통신 값은 처음 15자에서 나오는 이유는 무엇입니까?

저는 Android 11 기기에서 개발 중입니다. 혼란스러운 점은 프로세스의 통신 값은 프로세스 이름의 마지막 15자에서 나오는 반면 스레드의 통신 값은 처음 15자에서 나온다는 것입니다. 이것을 설명하는 매뉴얼 페이지가 있습니까?

예를 들어:

console:/ # cat /proc/5455/comm                                                
ndroid.launcher
console:/ # cat /proc/5455/task/5470/comm                                      
ReferenceQueueD

답변1

프로세스는 /proc/self/comm에 기록하여 자체 통신 값을 임의로 설정할 수 있습니다.

귀하의 시스템은 Android이고 일반 Linux가 아니기 때문에 Android "앱" 런타임이 수동으로 통신 값을 가장 유용한 값으로 설정한다고 가정하는 것이 합리적입니다. Android 앱 ID는 "역방향 DNS" 형식이므로, 마지막 구성 요소는 빠른 식별에 가장 유용합니다.

관련 정보