No HPUX, como listo o caminho completo do executável para todos os processos em execução?

No HPUX, como listo o caminho completo do executável para todos os processos em execução?

O que eu preciso: uma lista de todos os executáveis ​​em execução no momento com seu caminho completo.

Algo assim:

1234 /caminho/completo/para/executável
4567 /caminho/completo/para/executável2

Usando UNIX95= ps -exo pid,commposso obter uma lista com PIDs e comandos como este

11146 /opt/wbem/lbin/cimprovagt 0 4 8 root IOTreeModule
8338 /opt/ssh/libexec/sftp-server
16684 postgres: sfmdb evweb [local] inativo
2518 /usr/sbin/stm/uut/bin/tools/monitor/WbemWrapperMonitor
2264 /usr/sbin/psb/bin/diagtxd
8340-sh
7772 sshd: root@pts/0
8333 sshd: root@pts/1
7777 /opt/ssh/libexec/sftp-server

Isso é o mais próximo que consegui usar ps, mas não é bom o suficiente:

  • Algumas linhas não incluem o caminho completo (aparentemente porque não são iniciadas usando o caminho completo).
  • Dados extras após o nome do executável (preciso oferecer suporte a executáveis ​​com espaços no nome, para não poder simplesmente dividir a string)

Como tal, concluí que isso psnão me levará até o fim.

Existe um equivalente ao /proc do Linux onde /proc/{pid}/exe aponta para o executável? Se não, existe outra maneira de conseguir isso?

Desde já, obrigado,

Responder1

pfiles <pid>pode listar o caminho completo para o executável.

Exemplo:

Trecho deUNIX95=1 ps -efo pid,comm

 1666 cimprovagt

Agora vamos correrpfiles 1666

1666:                   /opt/wbem/lbin/cimprovagt
0: S_ISCHR mode:666 dev:64,3 ino:124 uid:2 gid:2 rdev:3,2
flags = O_RDONLY|O_LARGEFILE
file  = /dev/null

A primeira linha mostra o caminho completo para o executável. Isso é bom o suficiente para meus propósitos.

informação relacionada