用gdb修改运行的进程内存空间的环境变量,重启子进程可以继承修改后的环境变量
$ gdb -p pid
(gdb) p *environ@20
$1 = {[0] = 0x7fff41fb0928 "CONSOLE=/dev/console", [1] = 0x7fff41fb093d "TERM=vt100",
[2] = 0x7fff41fb0948 "SHELL=/bin/csh", [3] = 0x7fff41fb0957 "rootmnt=/root",
[4] = 0x7fff41fb0965 "INIT_VERSION=sysvinit-2.88", [5] = 0x7fff41fb0980 "init=/sbin/init",
[6] = 0x7fff41fb0990 "COLUMNS=80",
(gdb) x/s 0x7fff41fb0990
0x7fff41fb0990: "COLUMNS=80"
(gdb) x/s 0x7fff41fb0990+8
0x7fff41fb0998: "80"
(gdb) x/s 0x7fff41fb0990+9
0x7fff41fb0999: "0"
(gdb) set {char}(0x7fff41fb0990+9)=0x31
(gdb) x/s 0x7fff41fb0990+8
0x7fff41fb0998: "81"
$ strings /proc/4351/environ | grep COL
COLUMNS=81