Como obter o arquivo aberto para um determinado processo de background (sem login) no AIX

0

Usando esta resposta https://unix.stackexchange.com/a/283521/114939 que nos permite encontrar processos que mantêm uma determinada página aberta sem login ( O comando who não pode mostrá-los), me fez perguntar o inverso.

Como obter a (s) abertura (s) de um determinado processo em sistemas AIX? (para aqueles lançados em segundo plano e não "anexados" a um login de terminal / pty).

    
por Luciano 17.05.2016 / 13:06

2 respostas

4

O AIX possui um sistema de arquivos /proc (desde aproximadamente 5.1?) e você pode listar os descritores de arquivos abertos para um pid com procfiles :

$ 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 arquivo, apenas os números inode e maior / menor são fornecidos, mas você deve ser capaz de combiná-los facilmente com aqueles mostrados por um simples ls -l /dev/pts/ .

Você também pode instalar a Caixa de ferramentas AIX para aplicativos Linux e em seguida, use o comando lsof .

    
por 17.05.2016 / 14:55
0

Se XXX for o pid

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

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

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

    
por 17.05.2016 / 13:46