AIXのプロセス状態

AIXのプロセス状態

Linux の場合と同様に、AIX でもプロセスの状況を取得したいが、/proc/<PID>/statファイル内の状況が見つかりません。/proc/<PID>/statusそこに暗号化されたテキストがあります。特定のプロセスの状態を取得するには、AIXでどのファイルにアクセスする必要がありますか?

答え1

AIXの内容は、インクルード・/proc/<PID>/statusファイルで定義されているようにstruct pstatus構造化する必要があります。<sys/procfs.h>私が知る限り、ファイル構造の標準はないので、/proc/<PID>/*すべての読み取りは/procオペレーティングシステム固有のコードとして扱われるべきです。他のオペレーティングシステムのLinux上のすべてのデータ要素への厳密な1対1マッピングを期待しないでください/proc。データが非常に異なって配置されたり、一部のデータ要素が完全に欠落している可能性があります。

IBMの資料を参照してください。https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/filesreference/proc.html

C APIの場合、デフォルトでは/proc/<PID>/status適切なサイズのバッファ(またはmmap()それ)から読み込み、バッファ/ mmapポインタを変換して(struct pstatus *)データ要素にアクセスするために使用します。

必要な状態情報に応じて、データ要素にアクセスするために同等の構造タイプを使用して同じディレクトリにある他のファイルを読み取る必要があります。

答え2

プロセスに関する情報を取得するには、電話してください。ps注文する。オプションを使用して-o出力する情報を選択し、フォーマットを制御します。

AIXでは/proc目次しかし、その内容はLinuxと同じではありません(類似点はありますが)。/proc/<PID>/statusプロセスごとのファイルがあります。ps

答え3

これはおそらくコメントでなければなりません。しかし、そうするには「状態」が十分ではありません。ため息... - 答えの始点を提供しようとしています!

「Linuxと同じように...」という言葉は、AIXユーザーにとって大きな意味はありません。私は簡単なことを試しました。 「その他」のステータスは、あなたが受け入れることができる答えですか?

Linuxサーバーでこれを試しました。

root@x064:[/data]cat /proc/1/status

  ▒▒/▒0▒0▒;▒
            ▒▒▒9▒E▒4▒œOTHER
root@x064:[/data]
root@x064:[/data/prj/gnu/less-481]strings /proc/1/status
OTHER

AIXでは、次のようになります。

michael@x071:[/home/michael]cat /proc/1/status
  dò0ò0 ~5!(FiË3ã­ú¤ÀOTHER
michael@x071:[/home/michael]strings /proc/1/status
!(Fi
Ë3ã­ú
OTHER

IMHO - 文字列! (FiとË3ãúは文字列のように見えますが、「正常に表示」されます。

/ procを表示するために使用する必要があるコマンドは次のとおりです。

michael@x071:[/home/michael]ls -l /usr/bin/proc*
-r-xr-xr-x    1 bin      bin            8462 Jan 12 2015  /usr/bin/proccred
-r-xr-xr-x    1 bin      bin           23820 Jan 12 2015  /usr/bin/procfiles
-r-xr-xr-x    1 bin      bin           14852 Jan 12 2015  /usr/bin/procflags
-r-xr-xr-x    1 bin      bin           11222 Jan 12 2015  /usr/bin/procldd
-r-xr-xr-x    1 bin      bin           20884 Jan 12 2015  /usr/bin/procmap
-r-xr-xr-x    1 bin      bin            8274 Jan 12 2015  /usr/bin/procrun
-r-xr-xr-x    1 bin      bin            8974 Aug 06 2011  /usr/bin/procsig
-r-xr-xr-x    1 bin      bin           24534 Jan 29 2015  /usr/bin/procstack
-r-xr-xr-x    1 bin      bin            8502 Jan 12 2015  /usr/bin/procstop
-r-xr-xr-x    1 bin      bin           34888 Jan 12 2015  /usr/bin/proctree
-r-xr-xr-x    1 bin      bin           13612 Jan 12 2015  /usr/bin/procwait
-r-xr-xr-x    1 bin      bin            9158 Jan 12 2015  /usr/bin/procwdx

関連情報