하위 프로세스가 상위 프로세스의 메모리에 액세스합니다.

하위 프로세스가 상위 프로세스의 메모리에 액세스합니다.

bash를 사용하여 로그인하고 별칭을 정의한다고 가정해 보겠습니다.

$ alias c=clear
$ echo $0
bash

이제 대시를 입력합니다.

$ dash
$ echo $0
dash

Bash에 정의된 별칭은 사용할 수 없습니다.

$ alias
$ 

어떻게 접근하나요? 보다 일반적으로, 하위 프로세스에서 메모리 내용에 어떻게 액세스합니까?


alias더 정확하게 말하면 "액세스"는 상위 프로세스에서 실행 중일 때 얻을 수 있는 것과 동일한 데이터를 얻을 수 있음을 의미합니다 .

답변1

보다 일반적으로, 당신은아니요다른 프로세스의 데이터에 액세스합니다. 이름에서 알 수 있듯이 여러 프로세스 간에 공유되는 공유 메모리 섹션을 설정할 수 있습니다. 나는 이것이 bash 또는 dash와 같은 쉘에서 사용 가능하다고 믿지 않습니다. 그러나 일반 메모리는 다른 프로세스에서 접근할 수 없습니다. 이는 보안상의 이유로 의도적으로 수행됩니다.

그러나 환경 변수를 설정할 수 있으며 하위 프로세스는 생성될 때 이러한 변수를 상속합니다. Bash에서는 export변수를 사용하여 이 작업을 수행할 수 있습니다.

x=foo
export x

dash
echo $x

관련 정보