Como obter o pty aberto para um determinado processo em segundo plano (sem login) no AIX

Como obter o pty aberto para um determinado processo em segundo plano (sem login) no AIX

Usando esta respostahttps://unix.stackexchange.com/a/283521/114939que nos permitem encontrar processos que mantêm um determinado pty aberto sem login ( whoo comando não pode mostrá-los), me fez perguntar o inverso.

Como obter os itens abertos para um determinado processo em sistemas AIX? (para aqueles iniciados em segundo plano e não "anexados" a um login de terminal/pty).

Responder1

O AIX possui um /procsistema de arquivos (desde 5.1?) E você pode listar os descritores de arquivos abertos para um pid comperfis:

$ 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

Para dispositivos abertos como um pty, apenas o inode e os números maiores/menores são fornecidos, mas você poderá combiná-los facilmente com aqueles mostrados por um simples arquivo ls -l /dev/pts/.

Você também pode instalar oCaixa de ferramentas AIX para aplicativos Linuxe então use o lsofcomando.

Responder2

Se XXX for opid

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

Mas você obterá várias linhas por pty se o processo estiver aberto para várias funções (como stdin stdout e stderr)

Mas acho que isso não ajudará no AIX vs Linux, a menos que o AIX tenha mudado muito desde a última vez que o usei

informação relacionada