通常、私はLinuxでこのコマンドを使用してstring -a
このファイルを表示します。
AIXにも同様のことがありますか?私は何も見つかりませんでした/proc/pid_process
私はこのファイルを使って、特定のプロセスがどの環境変数を見ているのかを調べます。
たとえば、サーバーにOracleデータベースがインストールされています。プロセスがどの環境変数を見ているのかを知りたい場合は、pmon
プロセスを見つけることができます。
[root@oracle-database 1664]# ps aux|grep pmon|grep -v grep
oracle 8897 0.0 0.5 1133456 5312 ? Ss Nov27 0:18 ora_pmon_idbcloud
[root@oracle-database 1664]#
そしてファイルを見てください/proc/process_pid/environ
[root@oracle-database 1664]# strings -a /proc/8897/environ
XDG_SESSION_ID=4689
HOSTNAME=oracle-database
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=oracle
ORACLE_SID=idbcloud
ORACLE_BASE=/u01/app/oracle
MAIL=/var/spool/mail/oracle
PATH=
PWD=/u01
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/home/oracle
LOGNAME=oracle
LESSOPEN=||/usr/bin/lesspipe.sh %s
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
NLS_DATE_FORMAT=DD/MM/YYYY HH24:MI:SS
_=/bin/rlwrap
OLDPWD=/u01
ORA_NET2_DESC=9,12
SKGP_SPAWN_DIAG_POST_FORK_TS=1606503159
SKGP_HIDDEN_ARGS=<FATAL/S/PMON/x0/x1/x0/x5AF86E15/8888/8888/x0/x2/x1/x5AF86E38/1606503159/1606503159/196609/0/(nil)>
SKGP_SPAWN_DIAG_PRE_FORK_TS=1606503159
SKGP_SPAWN_DIAG_PRE_EXEC_TS=1606503159
ORACLE_SPAWNED_PROCESS=1
RDMAV_FORK_SAFE=1
RDMAV_HUGEPAGES_SAFE=1
ベストアンサー1
/proc
AIXは、Linuxと同じスタイルの擬似ファイルシステムを提供しません。リファレンスマニュアルページ:
/proc
文書(AIX)- proc - 擬似ファイルシステムのプロセス情報(Linux)
後者は環境専用の擬似ファイルを記録します。
/proc/[pid]/environ
This file contains the initial environment that was set when
the currently executing program was started via execve(2).
前者は、プロセス情報を含むファイルを記述します。
個人情報
必要なプロセスに関する情報が含まれています。メモ注文する。プロセスに複数のスレッドが含まれている場合は、代表スレッドを使用してフォークします。ログ情報情報。このファイルの形式は次のとおりです。struct psinfo
タイプで、次のメンバーを含みます。
特に:
prptr64_t pr_envp; /*初期環境ベクトルのアドレス ユーザープロセスで* /
書くことができますが、スクリプト対応するデータ構造を読み込みます。grep
またはstrings
:このアドレスはメモリイメージファイルにアクセスするために使用されます。
〜のように
プロセスのアドレス空間イメージを含みます。これ〜のようにファイルを読み書きするために開くことができます。これlseek
サブルーチンは、目的の仮想アドレスでファイルを検索するために使用されます。その後、それぞれ読み取りおよび書き込みサブルーチンを使用してアドレス空間を表示および変更できます。