Você pode especificar vários descritores de arquivo para peekfd
.
por exemplo,
peekfd -n -8 -d -c 24184 0 1 2
irá espionar stdin, stdout e stderr de pid 24184.
A opção -c
também será anexada a qualquer processo filho. Isso é necessário para ver a saída deles (por exemplo, ver a saída de ls
que foi executada em um processo de shell snooped-on)
Estranhamente, acho que sempre se conecta com êxito ao filho (não importa qual processo filho eu execute no snooped-on tty - ls
, uname
, /bin/echo
em oposição ao% co_de interno %) mas também sempre imprime uma mensagem de erro echo
(e o "pid" é sempre -38).
Error attaching to pid -38
diz:
DIAGNOSTICS
The following diagnostics may be issued on stderr:
Error attaching to pid ...
An unknown error occurred while attempted to attach to a process.. you may need to be root.
Parece um erro para mim - estou executando man peekfd
como root e sempre imprime a mensagem de erro, sempre com o mesmo falso ( peekfd
) PID.
CUIDADO: a página man também diz:
BUGS
Probably lots. Don't be surprised if the process you are monitoring dies.