AIXで特定のバックグラウンド・プロセス(ログインは不要)でptyを開く方法

AIXで特定のバックグラウンド・プロセス(ログインは不要)でptyを開く方法

この回答を使用してくださいhttps://unix.stackexchange.com/a/283521/114939これにより、ログインせずに特定のptyを開いたままにするプロセスを見つけることができます(コマンドwhoでは表示できません)、反対の質問をします。

AIXシステムで特定のプロセスのパブリックPTYを取得する方法は? (バックグラウンドで開始され、ターミナル/ptyログインに「接続」されていない場合)。

答え1

/procAIXには、pidを使用してオープンしたファイル記述子を一覧表示できるファイルシステム(約5.1以降)があります。プロセス文書化:

$ procfiles -n 15502
15502 : /home/guest/test 
  Current rlimit: 2000 file descriptors                                 
   0: S_IFCHR mode:0622 dev:10,4  ino:2584 uid:100 gid:100 rdev:28,1
  O_RDONLY
   1: S_IFCHR mode:0622 dev:10,4  ino:2584 uid:100 gid:100 rdev:28,1
  O_RDONLY
   2: S_IFCHR mode:0622 dev:10,4  ino:2584 uid:100 gid:100 rdev:28,1
  O_RDONLY
   3: S_IFREG mode:0644 dev:10,7  ino:26 uid:100 gid:100 rdev:0,0       
  O_RDONLY size:0  name:/tmp/foo

ptyなどのオープンデバイスの場合は、inodeと州/マイナー番号のみが提供されますが、単純ですls -l /dev/pts/

インストールすることもできます。Linuxアプリケーション用のAIXツールボックスlsof次にコマンドを使用します。

答え2

XXX が次の場合pid

file /proc/XXX/fd/* | grep /dev/pt

ただし、stdin、stdout、stderr などの複数の役割に対してプロセスが開かれている場合は、pty ごとに複数行が表示されます。

しかし、最後に使用した後にAIXがあまり変わらない限り、これはAIXとLinuxには役に立ちません。

関連情報