คุณต้องติดตั้ง 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 จะอ่านการกำหนดค่าและไม่เขียนทับ / นำพื้นที่หน่วยความจำนี้มาใช้ใหม่ในภายหลัง กระบวนการ Master nginx ทำให้เรามีโอกาสที่ดีที่สุดสำหรับที่ฉันเดา