可以通过pid在HP-UX中获取环境变量的方法

问题描述 投票:0回答:1

我想知道从pid获取HPUX中环境变量的方法通过ps命令,文件或编程。

有可能获得变量

# /proc/$pid/environ in environ  or ps e -ww -p $pid in linux
# ps ewww pid in aix
# pargs in solaris

HP-UX:使用gdb进行跟踪,但是服务器(HPUX)上没有gdb,因此无法安装。

让我知道。

server process pid hp-ux environ
1个回答
0
投票
使用gcore(1)生成进程的核心文件

复制此核心文件以及可执行文件和适当的版本libc(32位或64位,请使用pldd(1)确认)到环境gdb可用的地方

  • 使用gdb入侵__envp字符串表
  • [ hp-ux-ia64 ~ ] $ ps -f UID PID PPID C STIME TTY TIME COMMAND ranga 5779 4411 0 13:12:47 pts/0 0:00 ps -f ranga 4411 4403 0 12:45:42 pts/0 0:00 -bash [ hp-ux-ia64 ~ ] $ pldd 4411 4411: /usr/bin/bash /usr/bin/bash /usr/lib/hpux32/dld.so /usr/local/lib/hpux32/libtermcap.so /usr/local/lib/hpux32/libintl.so /usr/local/lib/hpux32/libiconv.so /usr/lib/hpux32/libdl.so.1 /usr/lib/hpux32/libc.so.1 [ hp-ux-ia64 ~ ] $ gcore 4411 [ hp-ux-ia64 ~ ] $ gdb -q /usr/bin/bash core.4411 warning: Load module /usr/bin/bash has been stripped. Debugging information is not available. (no debugging symbols found)...Core was generated by `bash'. (no debugging symbols found)... warning: Load module /usr/local/lib/hpux32/libtermcap.so has been stripped. Debugging information is not available. (no debugging symbols found)... #0 0x60000000c05660f0:0 in _waitpid_sys+0x30 () from /usr/lib/hpux32/libc.so.1 (gdb) x/s *(char**)__envp 0x200000007ffffeae: "USER=ranga" (gdb) : 0x200000007fffff45: "SSH_CLIENT=3.3.3.3 50072 22" : 0x200000007fffffe4: "SFTP_PERMIT_CHOWN=1" (gdb) 0x200000007ffffff8: ""
© www.soinside.com 2019 - 2024. All rights reserved.