%20no%20AIX.png)
Usando esta respostahttps://unix.stackexchange.com/a/283521/114939
que nos permitem encontrar processos que mantêm um determinado pty aberto sem login ( who
o 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 /proc
sistema 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 lsof
comando.
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