/proc/self에서 원래 명령 호출을 가져옵니다.

/proc/self에서 원래 명령 호출을 가져옵니다.

동적 링커를 통해 모든 프로세스에서 일부 시작 코드를 실행하려고 합니다.

코드는 프로세스의 0번째 매개변수를 기반으로 작업을 수행해야 합니다. 매개변수를 가져 오지만 /proc/self/cmdline(메인 외부에서 액세스하는 더 좋은 방법을 알고 있다면 알려주세요) 여기에는 문제가 있습니다.

스크립트는 #!0번째 인수로 shebang( 없이)을 사용하며, 이 경우 다음 인수에 관심이 있습니다. 하지만 해석된 프로세스와 기본 프로세스를 어떻게 구별합니까?

답변1

여기에서 추출한 세부 정보는 /proc/self/status(스크립트가 필요하지 않음)에서 찾을 수 있습니다./proc/self/comm

예상 질문에 대해: 어떤 프로세스가 적합한지 결정하세요.설명했다그리고 어느 것이국가의, 어떤 프로세스를 실행할지 모르면 이 작업을 수행할 수 없습니다.통역사. 결국, 모든 프로세스는 exec결과 프로세스의 인수 목록으로 원하는 것을 사용하여 호출하여 이름을 바꿀 수 있습니다. 당신은 할 수추측하다실행 파일을 가리키며 /proc/self/exe인수 목록과 비교하지만 이는 해석자가 아닌 사람이 더 명확하게 사용하기 위해 자손의 이름을 바꾸는 예가 있기 때문에 추측일 뿐입니다.

추가 자료:

답변2

절차가 Name들어간 것 같아요

</proc/self/status |grep '^Name'

이름은 basename0번째 매개변수의 실제 이름인 것 같습니다.

(누군가 더 나은 답변을 얻을 수 있도록 여기에 질문을 남겨 두겠습니다.)

관련 정보