실행중인 프로세스의 메모리 영역을 덤프하려면 gdb가 설치되어 있어야합니다.
# Set pid of nginx master process here
pid=8192
# generate gdb commands from the process's memory mappings using awk
cat /proc/$pid/maps | awk '$6 !~ "^/" {split ($1,addrs,"-"); print "dump memory mem_" addrs[1] " 0x" addrs[1] " 0x" addrs[2] ;}END{print "quit"}' > gdb-commands
# use gdb with the -x option to dump these memory regions to mem_* files
gdb -p $pid -x gdb-commands
# look for some (any) nginx.conf text
grep worker_connections mem_*
grep server_name mem_*
"이진 파일 mem_086cb000 일치"와 같은 것을 얻을 수 있습니다. 편집기에서이 파일을 열고 config (예 : "worker_connections"지시문), 복사 및 붙여 넣기를 검색하십시오. 이익!
업데이트 :이 방법은 완전히 신뢰할 수있는 것은 아닙니다. nginx 프로세스가 구성을 읽고 나중에이 메모리 영역을 덮어 쓰거나 재사용하지 않는다는 가정을 기반으로합니다. 마스터 nginx 프로세스는 우리가 추측 할 수있는 최고의 기회를 제공합니다.